Tuesday, April 26, 2005

SOA Presentation

Recently I had the opertunity to give a presentation on SOA to my
companies clients. The presentation can be downloaded from the link
below. First and foremost I must thank Niles from Microsoft for his
valuable comments which I later incorporated into the presentation.

Feel free to contact me in case you need more info.

http://www.volante.com.au/events/symposium3/presentations/download/symposium_saji_sethu_session_4.pdf

Friday, April 22, 2005

Off to Wagga Wagga

I am off to Wagga Wagga to nerd heaven and spending the whole weekend
at the code camp. If any of the fellow bloggers are there please look
me up.

Monday, March 14, 2005

Microsoft Buys Groove Networks

WOW Sharepoint is going to get some major enhancements.
http://www.eweek.com/article2/0,1759,1774878,00.asp

The software giant will integrate Groove's collaboration platform into
Live Meeting, Office Communicator and SharePoint.

Sunday, March 13, 2005

Microsoft Regional Architect’s Forum

Keynote Presentation by Martin Fowler Patterns for Enterprise Architecture

Martin started off his talk in his usual flamboyant style declaring
PowerPoint's are outdated and he planned to wing this presentation.

The talk started by explaining where the whole concept of Patterns
originated from with emphasis on the seminal work by Eric Gamma and
his book on Patterns. Martin has created a web site consolidating
resources and links someone could use when starting in this field.
http://martinfowler.com/articles/enterprisePatterns.html

One of Martin's insight particularly resonated with me. Martin: -
"often you have programmers with few years of experience who come upon
patterns and they try to use every conceivable pattern's into the
simple application they are writing. Making the applications
horrendously complex and too unwieldy to manage. The only cure to this
malaise is experience."

The area of Enterprise Applications is made up of three distinct areas.

Enterprise Application Architecture
How to decide what logical layers should be? Generally there are
always three layers.
• User Interface layer
• Business Logic layer
• Data layer

With commonality of Patterns that cross platforms.

How you chunk up a system into layers, and how do you apply patterns
into those layers?

Enterprise Integration Patterns
The driving assumption about integration is we have little control on
how the applications are built and used.

One approach is to have a common database. This promotes tight
coupling across organisations in a loosely coupled world and generally
does not work.

Conway's law ("Organizations which design systems are constrained to
produce designs which are copies of the communication structures of
these organizations.'' We might put it more succinctly as "The means
determine the ends'', or even "Process becomes product''.)

The best option would be to use loose coupling.
Asynchronous Message oriented way has a better chance of success in a
loosely coupled way. Loose Coupling is hard and you have to think
differently in that world.

Domain Modelling
How do you organise your domain logic? In EAP there are 3 main ways of
organising this logic. Which approach to use is based on how complex
your logic is.

This organises the model into classes around how to use it.
The book that best catalogues this area is "Domain Driven Design"
subset is Analysis Model but that book is dated.

The second best book is Data Model Patterns: Conventions of Thought

Microsoft and Thoughtworks in conjunction with other pattern people
have put together an excellent website at http://www.patternshare.org/
. What was interesting is his comment on how ServerSide.Net is the
largest collection of useless patterns, in typical Martin style.

The whole purpose of Patterns is used to pass on the experience to
other people. There is a need to build a language to promote
communication among designers.

Design is evolutionary in software development. Often people wonder
with the adoption of agile methodology is design dead. His observation
was to refactor agile projects and the best resource on how to do this
is covered in the book Refactoring to Patterns (Addison-Wesley
Signature Series)

The Main message when doing Agile development is: DON'T BE AFRAID TO
EXPERIMENT (POC'S). And invest in good refactoring tool. Martin's
recommendation is Jetbrains ReSharper but I like C# Refactory .

While working on Agile projects it is important to take test driven
approach and best reading material for the same is: Test-Driven
Development in Microsoft .NET (Microsoft Professional)

Microsoft Architectural Framework Gurpreet S. Pall
Sr. Director D&PE Architecture Strategy Microsoft Corporation
The talk started off with

Why Enterprise Architecture and the reasons outlined were
• IT costs too much
• Costs of managing complexity
• Eliminate redundancy
• Growing IT ecosystem
• Demanding rate of change
• Need for info sharing
• Outsourcing (BPO)
• Future-proofing
Definition of EA: "The enterprise architecture is the organizing logic
for a firm's core business processes and IT capabilities captured in a
set of principles, policies and technical choices to achieve the
business standardization and integration requirements of the firm's
operating model. "

Schools of thought
• Zachman Framework
• Meta Enterprise Architecture
• MS Model
• MS Solutions framework model
• Software factories
• Module Maps and motion methodology (this is new stuff from MS I need
to Google it)

So why do we need all these frameworks.
"Effective organization is critical to help us gain a full
understanding of the complex world surrounding us. Standard and
consistent organizing systems are used everywhere, from the Periodic
Table of the Elements and the Biological Classification of Organisms,
to the Dewey Decimal system in libraries. Such systems are also
plentiful in the world of Information Technology. For example, the DNS
system helps organize computers globally in a meaningful way, and file
systems provide a directory structure to organize files in storage.
Enterprise-level software and system architecture are ripe for a
similar organizing system. If you ask any group of technologists to
describe the architecture of a system, you are likely to hear
contradicting descriptions. Each person often has his or her own view
of the system, which is accurate but different from the view of other
technologists looking at the same system. A consolidated and
consistent view of enterprise software-intensive systems could help
technologists gain a shared understanding of the enterprise
architectural space that is more complete and accurate."

Model to deliver Artefacts

Zachman's Framework for EA, is built from perspective or views
ZAF Focus on artefacts, many people have failed because it is too comprehensive.
ZAF is somewhat of a static view and as everything else keeps on
changing you can end up chasing up your tail.
Best thing ZAF did was to start thinking along these lines.
EA Meta Group is simpler model.
Core is business strategy drives everything.

4+1 Framework by Rational

All based on IEEE 1431 standards.

MS Solutions Framework
Architect is the person who translates information between strata;
views are vertical across strata's.

Logical Strata
What types of applications do we need to put in place to support?

• CRUD Affinity Matrices
• ER Model
• Class model
• XML Schemas
• Tech Service Portfolio
• Distributed System

Software factories move away from grid structure to more of an
amorphous structure. Check out the paper on Software factories on MSDN

Module map is a generic view of Business Capabilities
Capability = is what a business does.

Motion starts with a high-level, objective view of business and allows
capability decomposition.

Enterprise Architectural Space Organising Table

Microsoft Operations Framework process model and SMF's

• Business and IT alignment
• Stakeholders, viewpoints
• Architects need to understand other views and translate.
• Strata and need for details
• Domain specific concerns

Architects need to have the vision at the same time be able to
translate that to business people's level on how to get there.

EA is an evolutionary process; there exists a chasm between Business
Practise, Business Applications and Infrastructure.

Gurpreet then examined Discipline of Market Leaders

• Operational Efficiency
• Customer Intimacy
• Product Leadership
• Value Chain
• Business Practices

University of New South Wales and Dept of Defence are working on a
program for Enterprise Architect some sort of Master of Science in
Enterprise Architecture
http://www.itee.adfa.edu.au/courses/itpgcourses2004.html , I already
hold a Masters in Com Sci. from UTS so why waste more money. Also
Microsoft may be coming out with some sort of certification for
Architects don't know any details yet.

Overall comments
Overall the conference was well organised, as all Microsoft
Conferences are. Bill Gates was linked in via a pre-recorded video,
which may show how important this is on his radar. That point being
aside I was really glad to see MS getting serious in the Enterprise
Space. This is one place where you sow today and reap the fruits in
2-3 years time. The keynote on Usability and Software architecture was
a bit of a let down. In between I attended a Connected System's
workshop which did not turn out to be much of a fun as the person
hosting it was still coming to terms with connected systems as well.

Rodger Roberts (McKinsey) session on Aligning Business and IT
Architecture was extremely nice and I am still waiting to get my hands
on his presentation. He was focusing on why Business Process in an
organisation is important and how it affects Architecture and its
connection with SOA. The famous Harvard Article which talks about "IT
doesn't matter" missed point as it was focusing on applications. "IT
does matter" if organisations started focusing on their core processes
which make them competitive and stop this naval gazing at SAP's and
Baan's of this world.

The other information sessions were extremely nice as well my
favourite was Simon Guests on Interoperability as that is what I am
doing every day. Getting BEA weblogic to talk to .NET.

The closing session was good and bad, it was round table discussion
between all the keynote speakers on SOA. Martin believed SOA was
nothing new but just Same Old Architecture and OO world has been doing
it for years. This leads one to wonder if OO world has been doing
this for years how did we get it so wrong and ended up with
Information Silo's that we have. I have great respect for Martin but
when talking to him I am often reminded of the quote by Roger King "I
have a cat named Trash. In the current political climate it would seem
that if I were trying to sell him (at least to a Computer Scientist),
I would not stress that he is gentle to humans and is self-sufficient,
living mostly on field mice. Rather, I would argue that he is
object-oriented."

For years computer professionals have been telling Business People
lets change this mainframe because it is not OO, with countless failed
projects we have lost all credibility. Now we have an architecture
which allows building business processes that build facades around
these mainframes and bring them into mainstream at fraction of a cost.
Enabling us to build organisations that are application agnostic with
application architecture that are Designed for Disassembly (DOD). Some
other time I will talk about my thought on this topic.

Saturday, February 19, 2005

See you at Microsoft Asia Pacific Regional Architect Forum 2005

I am off to sunny QLD next week to the Microsoft Asia Pacific Regional
Architect Forum 2005. If i get internet connection will be blogging
from there. If any of the Ausie OPML readers are contributors are
there then please look me up. For those who cant go I will blog about
it to keep you guys updated and if you want info on any specific topic
post a comment to the site. Following is the agenda for the meet. I
wish that I could clone myself and attend all of the tracks :-)

==============================================
Patterns of Enterprise Application Architecture

Usability and Software Architecture: Experience in Supporting the Mars
Exploration Rover Mission

Aligning Business & IT Architecture

Modelling for Connected Systems

Microsoft Architectural Framework

Mainframe migration to Windows, Business Case

Smart Client Architecture Principles

Real World Web Services, Scalability and Integration

Enterprise Service Architecture: Designing an open standards based
architecture builit for enterprise

A year of Innovation with Intel

Microsoft and Interoperability

Reduce Technical Risk-Eight Business Drivers for Technology and
Architecture Decision Making

Mainframe Migration to Windows-Migrate risk and dramatically lower
hardware and software costs

Interactive session with Martin Fowler: Is Design Dead?

Software Architecture design and analysis

Case Study: Commonwealth Bank of Australia

Identity and Access Management

Improving the Software Development Life Cycle with the Visual Studio Team System

ROI of Architecture

Best Practices for Client Deployment in the Enterprise

Patterns for Connected Systems

Business Process Management

Web Services Management

Building Transactional Web Services

Organizing for Service-Orientation

Get Serious with 64 Bit Computing in the Enterprise

Web Services Interoperability

Identity and Access Managment

Best Practices for Client Deployment in the Enterprise

The Dynamic Systems Initiative and the Systems Definition Model

Patterns for Connected Systems

SOA-The Bridge Between IT and Business

Indigo

Building Transactional Web Services

Business Process Management

Integration Patterns

Securing Web Services

Get Serious with 64 Bit Computing in the Enterprise

Web Services Interoperability

Tuesday, December 07, 2004

Book - Real World XML Web Services

Book - Real World XML Web Services Hmm yet another good book on XML web Services. and it is free writen by none other than Yasser Shohoud

WsContractFirst Development

thinktecture - WsContractFirst If you have been developing web services and not used this tool then I must say you are missing something in the arsenal.

Sunday, November 28, 2004

Web services security and federated identity authentication

Recently I had an opportunity to do an extensive Literature review of
the whole federated authentication space within web services. The
literature review is attached and the abstract for the same is shown
below.

----------------------------------------------------------------------------
Abstract

Over the past few years as web services technology has matured, so has
its use in complex line of business applications. Projects to create
Service Oriented Architecture and Complex Supply Chain Integration are
pushing the boundaries of present web services specifications. As
organisations and applications using web services collaborate across
security domains the risks associated with compromised identities
increase. In order to mitigate these risks a system of Federated
Security domains is being used in web services projects. This paper
will look at the concepts behind digital identities, aspects of web
services security (WS-Security) and how federation is achieved in such
a landscape. Lastly it looks at Liberty Alliance ID-WSF and
WS-Federation specifications and how they compare against each other.
The paper finishes off with some recommendation for future projects to
investigate and do a threat assessment of applications built to these
two specifications.
----------------------------------------------------------------------------
Unfortunately I cant attach files to my blog, will have to find a way around this predicament.

Saturday, November 20, 2004

SOA and the confusion

Recently I had an opportunity to talk to some one about SOA. During
this time I asked the person what they understood about SOA and was
quite surprised at the confusing answer. Mind you the person is
question is very bright and has been active in the web services world
for a long time. At that point I thought to myself if such a
knowledgeable person is struggling with the concepts what hope do the
rest of the community have.

We all know there is a general push in the business circles for using
COTS (Commercial Off The Shelf) products. Now in an industry where
everyone is using SAP or what ever to run their business, they
invariably are subscribing their business practises to what SAP
Product Managers think. This being the case there would be a general
homogenisation of the sector. How does one company differentiate
itself from another? If IT and COTS become commodity then the opinion
raised by Nicholas Carr "IT doesn't matter"
(http://searchcio.techtarget.com/originalContent/0,289142,sid19_gci905877,00.html)
becomes valid.

I think there is another evolution coming to the IT market which will
make IT matter which is SOA. Once all my Uni stuff is over I plan to
write on this topic further. I think SOA provides companies's to
retain their edge by using IT as a fabric that weaves complex
applications inside an organisation into a cohesive whole.

More on this later.................. I think I should come off my high
horse now -)

Tuesday, November 16, 2004

Sorry about no blogs

I had gone away on holiday to India for 3 weeks and now for next 2 weeks I have to complete a report on Federated Identity in Web Services for Uni as part of my final year Msc Project. Once that is over there will be a bit more time to blog and post some cool stuff.

Angus Logan's Blog : Brisbane, Australia Developer : MCMS/SPS/WSS/.NET/SQL

Angus Logan's Blog : Brisbane, Australia Developer : MCMS/SPS/WSS/.NET/SQL Great site for share point stuff.

Sunday, October 03, 2004

Web Services Developer Center: Web Services Interoperability and Integration

Web Services Developer Center: Web Services Interoperability and Integration A must for anyone serious about web service development. It is a great pleasure to see a Vendor taking interoperability so seriously.

Tuesday, September 28, 2004

Ever wanted a simple SQL Query tool which connects to MSSQL Server and Oracle.

AquaFold, Inc - Aqua Data Studio - Database Query Tool (Oracle, DB2, Sybase, Microsoft SQL Server, Informix, Postgres, Postgresql, MySQL)Often I have to connect to Oracle database and hate installing the full blown Oracle Client on my machine. So I was looking for something which will allow me to run SQL Queries against Oracle with out the bloated Oracle client till I came accross this tool. That is not all, this tool has cool features like Inteli Sense and is usefull when using MSDE, mySQL and so on so definately worth a try.

Saturday, September 25, 2004

Federated Security in Web Services

This weekend I have to get into the thick and thin of Federated Security. So far it does not look like it will be fun.

Thursday, September 23, 2004

Steve's Blog

 

This e-mail, including all attachments, may be confidential or privileged.  Confidentiality or privilege is not waived or lost because this email has been sent to you in error.  If you are not the intended recipient any use, disclosure or copying of this email is prohibited.  If you have received it in error please notify the sender immediately by reply email and destroy all copies of this email and any attachments.  All liability for direct and indirect loss arising from this email and any attachments is hereby disclaimed to the extent permitted by law.

GM's Cure for Complexity - Architecture - CIO Magazine Sep 1,2004

GM's Cure for Complexity - Architecture - CIO Magazine Sep 1,2004

Enterprise Architecture with a different name. Sometime you wonder why dont more people do the same.

Friday, August 27, 2004

XML includes and getting data from external source.

When using XMLTextReader ever wondered how to read the include files. Recently I was stuck with a similar problem after much head scratching finally resolved it. Here is the code.
Ok I was trying to read an xsd schema and every time it included schemalocation I would get stuck so I decided to resolve it using  getEnity method.
 

Dim vreader As New XIncludingReader(" the url where the schema is")

Dim resolver As New XmlUrlResolver

Dim i As Integer = 0

Dim fur As Uri

Dim s As Stream

Dim xtext As StreamReader

Dim st As String

 

vreader.XmlResolver = resolver

     

If (vreader.Name = "schemaLocation") Then

   fur = resolver.ResolveUri(New Uri("….location"), vreader.Value)

   If Not fur Is Nothing Then

      ‘Ok going to get the data from the location

      ‘the beauty of this thing is if your location is on the file or in a url

      ‘it will resolve it fine.

      s = resolver.GetEntity(fur, Nothing, GetType(Stream))

      xtext = New StreamReader(s)

      st = xtext.ReadToEnd

      Console.WriteLine(st)

   End If

End If

 

Tuesday, August 24, 2004

Enterprise Architecture and Big Mac's

Last night lying in bed I had a thought...is Enterprise Architecture like a Big Mac, what is it we are really trying to do when we define an architecture. Create a set of rules and methods such that we don't re-invent the wheel every time we pick up a project but have an underlying framework that we can work with which will define consistent results. Now to that effect one company that has made consistency its main game is Mc Donald's with their Big Mac's. Now where ever you go in the world (mind you I have eaten at a few Mac Donald's around the world) the Big Mac always taste the same and it does not require a rocket scientist to make it either. So does this mean by if we were to define a framework for developing software and make all developers follow it with an iron will we will get consistently good quality software, Joel does not think so http://www.joelonsoftware.com/articles/fog0000000024.html . He says following recipes or Methodologies do not guarantee good quality software. Now I would agree with that to some extent to produce really good quality software you need good developers and mind you methodology or framework is no substitute for talent as many big consulting companies would have you believe otherwise. This would almost imply that software development should be done by talented people and every time you developed something it is ok to start fresh. To some extent this line of thought says software development is not engineering but an art form.
 
In my opinion software development is a mix of art form and engineering. Bridges which are built to laws of physics can still be pretty and functional, in this instance laws of physics form the framework on which bridges are build (also the civil engineering codes). Keeping to that we can define the rules to which software should be built sharing a common thread and knowledge pool. Such that what we build is not a chaotic collection of monolithic software but a consistent group of software each having its individuality yet sharing common thread of interoperability. So Architecture which defines enough to share and yet not constraint creativity is hard work...perhaps it may be the holy grail. I am still looking if anyone has found it please let me know.