In a post on January 25th, I said, "I posted yesterday that we had shipped our Enterprise Collateral Management solution based on our new architecture. As I said, we still have a lot more to do." I provided a concise list of the methodologies, technologies and tools that we used in our 14 month cycle. To update where we are now, it will be necessary for me to give a little more context.
First, when I mention "our company", we are actually a Division exclusively devoted to Collateral Management. This division, in turn is part of a much larger worldwide company that has at least 6 more financial sector products dealing with other aspects of managing risk. That company then, in turn is part of a huge Ratings company. The rest of the products are (mostly) integrated into one suite that we sell. Ours is not. One reason is that the various products have been organized into self-contained product groups. That means that we had our own development, marketing, sales, product and management for just Collateral Management. Five or six weeks ago, our company went through a rather large reorganization that aligned things by a global R&D, global Marketing, etc. I think this is an extremely good thing. Our product is now "owned" by R&D which also owns all the other products that are part of the suite and otherwise and we are detached from product so we can focus on development. We can also look at integrating into the suite and bi-directional learning.
One consequence of this is now instead of my boss reporting to a VP of Collateral Management, he reports to a Senior Director in R&D who owns a product out of our large offices in Manhattan. The cool thing is that Josh Madden is a 20 year+ veteran developer/architect like me who has done great things in the Financial area for companies like Reuters. He gets development. The other cool thing is that his other product group also uses a lot of Agile techniques and greatly appreciates our total XP environment. One more thing: his group, like all the other groups use 100% Java technologies, and as far as I can tell, all open source technologies. Real cool ones like Hibernate and MULE. What does that mean for us? We are not changing our .NET Framework 3 environment at all but what I am starting to work a lot with Josh on is taking our WCF services and making them Interoperable from Java stacks like Axis. We are also comparing notes on Hibernate, WCF, etc.
One simple tool that Josh suggested and I have started using is the free, open-source Java tool, TestMaker, to perform web service interop tests. TestMaker is an open-source project. TestMaker is an easy to use framework that uses a cross between Python and Java, Jython, that implements Python on top of 100% Pure Java. Its simple to change scripts.
I welcome all this. If WCF is to hold to all it's much touted promises, and for that matter SOA, it (and my architecture) must be able to be interoperable from and to Java stacks like Apache Axis. I also love to learn new things (I'm bored with 7 years of .NET!). Well, actually I was a Java developer for a number of years in the 90's and to me, technology for religion's sake (either one) is useless. We are here to solve business problems and if we can leverage our services from our other Java products and vise versa, then more power to us! Of course being around bank and financial instutions a lot in the last 16 months, there is a ton of Java and a ton of Oracle. SQL Server has virtually zero penetration. Axis 1.1 supports the following:
W3C SOAP
v1.1 and
v1.2 Candidate Recommendation
W3C Web Service Description Language (WSDL) v1.1
Sun SOAP with Attachments API for Java (SAAJ) v1.1
Axis 1.2 is adding support for WS-I Basic profile. I am planning on exposing an additional endpoint, with the BasicHttpBinding, to allow our same services to "drop back down" to SOAP + WSDL (WS-I). Of course, it won't be "just flick a switch" but I am confident that all the efforts that I know that the Indigo group spent on bakeoffs against Axis and other stacks will pay off. Also, there are other Java stacks that have varying amounts of WS-* compliance. There is also a big place for REST as we go on. I plan to write a lot more as these things go on.
Now, back to the project. I am very proud of what we shipped. We shipped a solution for Concentration and Eligibility that has been installed at a major international bank in both Paris and London. It validates our architecture, the .NET Framework 3.0 and our OR/M data solution. Now, we are prepared, with the new R&D organization, to become "Shippers," to buckle down and ship the core Collateral Management product itself that is out still quite a ways. There is a big amount of work still to do. One of the good things that is coming from the Java guys and the open-source stuff is the emphasis on simplicity. This is one of the core Agile tenants but we also can get quite wrapped up in Agile for Agile's sake. We will be working hard on winning that pinball game (shipping 5.0) so we can play again (5.1, etc.). My focus is to ship product. Lots of fun ahead!!
I'm listening to My Iron Lung by Radiohead on the album (2006-08-26) Rock En Seine Festival, Paris
Technorati Tags: .NET, Windows Communication Foundation, Java, Apache Axis, Financial and Banking, Collateral Management, WCF, WF, Windows Workflow, Extreme Programming, Agile, Agile Development, Software Architecture, Microsoft
Posted
Mon, Feb 19 2007 3:53 PM
by
Sam Gentile
Filed under: .NET Framework 3/WinFX, Agile and Extreme Programming, Windows Vista, Software Architecture, WCF/Indigo, SOA, Data, Security, Smart Clients, WinForms, VS Team System, Workflow, Financial and Banking Vertical