Friday, December 16, 2005

CTP of Enterprise Library and download issues

I have two rants.
Start RANT
1. I have been desperately trying to download the CTP version of Enterprise Library and for some reason it keeps on asking me to join the Project. I don't want to join the project just give me the library such that I can get on with it. (BTW if any one has ideas on how I can get my hands on the CTP it would be appreciated).
2. I have been looking around for the ODP.NET (Oracle's data provider) implementation for DAUB (Data Access Application Block) and not been able to find anything. I am sure someone out there has written this. I hate to write the provider and then find out it was already available. Any hints most appreciate :-)

End RANT

Wednesday, December 14, 2005

WSE 3.0 and MTOM

Over my holidays I started playing with WSE 3.0 and VS 2005. As part of the exercise built a simple web service that would allow people to send pictures and view pictures. All worked well till I enabled MTOM on the services. Since then everything the client tries to connect to the service it gets the following message "The request failed with HTTP status 415: Unsupported Media Type.". I have looked around in newsgroups and not found any resolution. BTW the web services is hosted inside IIS running on XP pro with SP2, have not tries if it will work on VS 2005 inbuilt web server (had I chosen directory option instead of web server).

For now I have decided to move on if any of you find a resolution do let me know, if I find it will post it here.

The raw messages is below that is sent to server
"POST /VisitorDataService/VisitorService.asmx HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 2.0.50727.42)
VsDebuggerCausalityData: uIDPo4jPn8RWmPlAjcQTkQgpUHMAAAAAX7/rVlC6HkyUzBUqLrewxBLVzD4GiL1Cips5Q4ONci0ACAAA
SOAPAction: "http://www.shajisethu.com/schemas/VisitorService/getVisitors"
Host: sethu.homedns.org
Content-Type: multipart/related; type="application/xop+xml"; boundary=--MIMEBoundary632701497681437264; start="<0.632701497681437264@example.org>"; start-info="text/xml; charset=utf-8"
Content-Length: 1424
Expect: 100-continue
Proxy-Connection: Keep-Alive


----MIMEBoundary632701497681437264
content-id: <0.632701497681437264@example.org>
content-type: application/xop+xml; charset=utf-8; type="text/xml; charset=utf-8"
content-transfer-encoding: binary

http://www.shajisethu.com/schemas/VisitorService/getVisitorsurn:uuid:bd1fa634-e620-4649-a316-b7d64d80e71bhttp://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymoushttp://sethu.homedns.org/VisitorDataService/VisitorService.asmx2005-12-13T22:36:08Z2005-12-13T22:41:08Z
----MIMEBoundary632701497681437264--"

Monday, September 26, 2005

Looking for a Solutions Architect

This may not be the right forum to post this advert but I am trying anyway :-)

The company I work for Volante (http://www.volante.com.au ) is looking for a Software Solutions Architect based in Sydney Australia reporting to me (NSW Software Solutions Manager). It is an exiting role and quite challenging, will involve giving presentations to CIO and COO level executives including tender bid management. I have pasted the details from the advert below and if you are interested please feel free to contact me on Shaji(dot)Sethu(at)volante(dot)com(dot)au.

Please note only Australian Permanent Residents will be considered as most of our clients are government agencies.


Location - Sydney (some interstate travel) Australia


Immediate start


Volante is expanding its Software Solutions Team in NSW. This team specializes in Application Development (.NET), Enterprise Information Access Solutions, Workflow Solutions, and Business Integration (thru Web Services) using EAI tools like BizTalk 2004. We are seeking a highly talented person with demonstrated skills in:

  • Architecting and implementing software solutions
  • Technical management of fixed price projects
  • Delivery of consulting services


The role requires a mixture of technical and business skills. Broad and deep technology knowledge, the ability to architect end-to-end business solutions, and a thorough understanding of Service Oriented Architectures and Web Services (Contract first approach) are required with strong emphasis on XML skills. Just as important are commercial acumen and the ability to understand customer’s business model and processes.
Must be able to think ‘outside the box’ to bring together ‘packaged’ products to deliver cohesive solutions aligned to business requirements.
Must be able to communicate at any level from developers to Cxx level. Must be able to talk to executives about their business requirements and what causes them pain (without talking technology) and then translate those requirements into an effective technology solution that will work within the constraints of their environment.
Must be able to collect customer requirements using a number of techniques such as workshops, interviews, precision questioning, surveys etc and then document them using industry standards like IEEE 830 specifications. The solutions architect must be able to take these requirements and then translate them into software architecture using MDA approach (UML 1.4 – 2.0 preferred). Any familiarity with Enterprise Architecture frameworks like Zachman and TOGAF would be highly desirable.
Must be able to manage the complete lifecycle of large and complex projects.
Must be able to manage, mentor and build teams.
Must readily accept ownership of problems and source effective solutions.
Must have a passion for the customer, which is demonstrated through professionalism and striving for excellence in all aspects that impact the customer.


Must have experience in as many of the following as possible (minimum of 4):

  • .NET Visual Studio 2003 (Framework, VB.NET, C#, ADO.NET, ASP.NET)
  • MS CRM 1.2
  • MS Sharepoint Portal Services
  • MS Commerce Server
  • MS Content Management Server (CMS)
  • SQL Server
  • MS Analysis Services
  • MS Reporting Services
  • Microsoft Solution Accelerators
  • BizTalk 2004
  • Meridio or any other document management system (Trim, Hummingbird, etc)
  • Workflow Systems (Captaris, K2.NET, etc)
  • Holocentric Business Modeler or any other business process modeling tools
  • Must enjoy being ‘hands-on’ and should have superior written and verbal communication skills as the job will involve giving presentations to Cxx level executives.


A tertiary qualified candidate (preferably in Computer Science) with 10 years industry experience would be highly desirable. Any cross industry experience would be favorably looked upon.
This position has become available as a result of internal promotion.

Tuesday, August 09, 2005

IFPUG Function Point Counting http://www.ifpug.org/

Today I started working on a tender response to a client which required Function Point Counting to be used as a basis for estimating the size and cost of the project. To be honest I had never heard of Function Point Counting before now, so I did what all of us in Software Development do. Went and searched Amazon and bought the book most users recommended http://www.amazon.com/gp/reader/0201699443/ref=sib_dp_pt/103-3488611-1234263#reader-link and plan to read up on it before the week ends. For the uninitiated here is what function point counting is all about.
 
"Function Point Analysis (FPA) is a sizing measure of clear business significance. First made public by Allan Albrecht of IBM in 1979, the FPA technique quantifies the functions contained within software in terms that are meaningful to the software users. The measure relates directly to the business requirements that the software is intended to address. It can therefore be readily applied across a wide range of development environments and throughout the life of a development project, from early requirements definition to full operational use. Other business measures, such as the productivity of the development process and the cost per unit to support the software, can also be readily derived.

The function point measure itself is derived in a number of stages. Using a standardized set of basic criteria, each of the business functions is a numeric index according to its type and complexity. These indices are totalled to give an initial measure of size which is then normalized by incorporating a number of factors relating to the software as a whole. The end result is a single number called the Function Point index which measures the size and complexity of the software product. "

I will try and blog on my exp with this methodology, if any one else has used this before would appreciate your feed back.

 

Sunday, June 19, 2005

Should we abandon WSDL?

I came across this write up recently.
http://www.webservices.org/ws/content/view/full/62161

"Philosophically contract-first is a good idea because it elevates the exchange of business documents to be the primary artefact around which systems are built. Modelling such exchanges leads to integration at a high level and should in turn lead to solutions which are suitably loosely coupled.

However, pragmatically contract-first is hamstrung by the contract languages which Web Services practitioners have at their disposal. WSDL is cumbersome and provides the wrong set of abstractions, while WS-BPEL is heavyweight and relies on WSDL. Given the prevailing conditions, contract first is fraught with difficulty when contract languages are brittle and unwieldy.

Using WSDL as the contract language for contract-first development may require some creativity at best. At worst the contract language will constrain the underlying service implementation resulting not so much with a robust Service-Oriented Architecture but a rather limp RPC-ish one. If that is the case, then it makes sense to drop WSDL in favour of some other contract language whether that is SSDL, BPEL, or simply schemas and natural language descriptions of message exchanges. Ultimately it boils down to the fact that the services are there to support the business and the contract language must be able to capture business interactions. A contract language should enable rather than constrain business protocols: the tail, after all, does not wag the dog."

Having said this I must look into SSDL, when I first started down the path of integrating hotel systems for chains I was doing it using XML over HTTP using MSMQ as asyn layer. Things were simple before we had SOAP, WSDL and WS-I, does anyone remember ebXML looks like it may have died a natural death.

Going by SSDL we should just have schemas and use SOAP to transport it without the constraints of WSDL....hmm not a bad idea eh..........

 

Cisco Readies XML Devices, Software AON (Application-Oriented Networking)


CISCO is coming out with new XML Router, the reason this excites me is due to this factor.
http://www.eweek.com/article2/0,1759,1826721,00.asp
"Cisco is using Tarari's programmable chip to perform low-level tasks such as checking XML signatures and verifying XML schemas. But Cisco's AON developers have also created a substantial amount of technology, including agents that work with the chip and handle tasks such as XML message transformation, which makes it possible to exchange XML messages between two systems that use different XML schemas."

This will mean we can have a router behind our firewall which will inspect every xml stream coming it and validate it against corporate schema repository. If not valid will discard it, otherwise route it appropriately. This implies we will have schema's for our web services, most of us who use contract first approach will nod our heads and say yeah (we are prepared for this world). Others I will leave to search Google and find out what I mean.

In addition by verifying XML signature on the chip and doing XSLT transformation we have taken the processor intensive task out of software and relegated it to the hardware making the messaging sub-system that much more faster.

In the past week or so I have been playing around and reading up on the CISCO call manager which allows one to send XML messages to the CISCO IP telephone, now with AON possibilities are limitless and I am exited :-)

Ohh well I am a nerd..................

Saturday, May 21, 2005

Face Recognition and everything in between

 In the past few days I have been playing around with face recognition software trying to build my own identification. I have tried a few dll from various vendors and have not had much luck. Has anyone out there played around with this stuff, if so any pointers would be appreciated.

While trolling through the net found following snippet
"A study by the government's National Institute of Standards and Technology (NIST), for example, found false-negative rates for face-recognition verification of 43 percent using photos of subjects taken just 18 months earlier, for example. And those photos were taken in perfect conditions, significant because facial recognition software is terrible at handling changes in lighting or camera angle or images with busy backgrounds. The NIST study also found that a change of 45 degrees in the camera angle rendered the software useless. The technology works best under tightly controlled conditions, when the subject is starting directly into the camera under bright lights - although another study by the Department of Defense found high error rates even in those ideal conditions.  Grainy, dated video surveillance photographs of the type likely to be on file for suspected terrorists would be of very little use.
"
That is a bit discouraging but I persevere :-)

Any help from the larger collective would be appreciated.

Sunday, May 08, 2005

Creating a cohesive view out of multiple application

In the past couple of days (8 days to be precise working 15hrs per day)
I had to lead a team of developers to create a unified application out
of using Captaris Workflow, Microsoft CRM, Hummingbird Document
Management and Records Management System, Microsoft Sharepoint,
Microsoft Exchange 2003 and Microsoft Mappoint. At the start of the
project I had no idea how Microsoft CRM and Microsoft Mappoint worked
and a vague idea on Captaris Workflow.

Needless to say we finished all the integration using Sharepoint as a
central binding engine and did the presentation to the client (still
waiting on the final outcome the tender is worth millions). I wont bore
you with the details of all the code that went in. In the end what
dawned on me was the simple fact on why we were successful in stitching
it all together. The factor was AD (Active Directory). All the
application in question used Active Directory for authentication and
hence when communication between application once authentication was
taken care of the end user experience was seamless.

Next time when selecting application to participate in Orchestration my
first criteria will be to check if the application supports AD for
Authentication. I know most of us have been in the past guilty of
writing our own authentication layer. If the application is going to
work inside the secure confines of a WAN network we will save our selfs
a lot of heartache in the future by leveraging what is there and not try
to reinvent the wheel especially when it comes to authentication.

Next time when trying to write your own authentication layer believing
the guys in Microsoft don't know what they are doing think again as you
may regret it in the future.

That is my rant for the week.......

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