- Focus holistically, act locally: SOA is NOT a project. SOA is a path that not ends, like quality (in an broad sense). SOA is the sum of many parts and you should take them in count when implement you architecture.
- Define the value: Strategy is important, better, a business case. If you defined that SOA is the new architecture approach for you company, how it can happens if there is no guideline that will make this happen?
- Don't neglect service design: What we have behind composite application and composite process?... ...Services! So, they deserve special attention. Web Services must be design to be reused, to provide behavior and information (not to be app specific), must be aware of hardware and O.S. (no calls to native interfaces).
- Leveraging a legacy is unavoidable: What keeps our business running? Legacy systems! Service-oriented architecture came to allow you to take the best from these legacy systems, not to rewrite them.
- Remember the semantics: When dealing with data think about the real meaning of them, the context of this information, the semantic... ...ask yourself which relevant information you can extract from this data?
- The proper place for orchestration: SOA implementation does not necessarily need orchestration to run. However, consider it for some application.
- Security soaks in as you execute; it's not an afterthought: You might firstly developer Web Services for internal use, but in a near future they can be used for other companies (partners). Think about Identity Management from the beginning.
- Classify the patterns of use: Three rules when implementing Web Services: patterns, patterns and patterns.
- Persistence is important: "... You need to think about persistence for a few reasons, including federation of services around the SOA. When building an SOA you may end up with composites or processes created out of services that may exist over a dozen or more different systems, and as such, persistence becomes more complex if done at the points...".
- Don't skimp on testing: Keep in mind that most of the data and system that Web Services will deal with are business-critic. Thus a test plan is very important and this must be written from the beginning.
Saturday, January 06, 2007
Ten Things to Think When Building SOA
Tuesday, January 02, 2007
100+ in TI Innovation
In last December 2006 Transit received an important prize: it is one of 100+ in TI innovation (category: Telecom and Technology). The project submitted is related to "CDR convergence and mapping using SOA". See all categories and the winners. I received, on behalf of IT team, this prize.
See below other picture.
SOA Book in my Wish List
This is the #1 SOA book in my wish list. Please feel free to donate one :-).
Monday, January 01, 2007
Happy 2007! (now with blackberry)

This Blackberry (BB) you are seeing is (was) one of the most desired gadgets in my "wish list". It was a suprise on my birthday (Dec, 27th). Now I can post directly from my BB, read and write my e-mails, browse the Internet, send SMS... ...and, believe or not, I can you use it as a mobile! Simply wonderful. I've asked myself how I could, so far, live without one of them?
Thanks Debby!
Saturday, December 30, 2006
OSOA: Open SOA Collaboration
On August'06 I had already posted a message about OSOA. David Linthicum, in this article details the progress that this initiative has achieved. As David say, this group has concentrated its efforts on two projects - service component architecture (SCA) and service data objects (SDO).- SCA is looking to provide a model for creating service components in a wide range of languages and a model for assembling service components in a business solution. In essence this is a standard that defines how services are created so they interact with each other without a lot of customization. This will benefit those who are looking to create composite applications that use these services (...SCA stresses decoupling the service implementation and service assembly from the details of the infrastructure capabilities and the access methods used to invoke services. SCA components operate at a business level, according to the spec);
- SDO is looking to provide a consistent way of handling data in applications, whatever its source or format may be. Okay, that would be data abstraction. Moreover, SDO provides a way to unify data handling for databases and services (...using SDO, application programmers can uniformly access and manipulate data from heterogeneous data sources, including relational databases, XML data sources, Web Services, and enterprise information systems).
- Databases are connected to the applications by data mediator services;
- Client applications query a data mediator service and get a data graph in response;
- Client applications send an updated data graph to a data mediator service to have the updates applied to the original data source;
- and this architecture allows applications to deal principally with data graphs and data objects.

(source: SDO for JAVA Specifitation V2.1 FINAL)
Saturday, December 16, 2006
JAVA EE 5, SOA, the bad, the good... (Part 2)

This is the Part 2 This Special Report from WebServices.com about JavaEE 5 and Enterprise SOA.
1. The Bad (by Bruce Snyder, co-founder and developer for the Geronimo project and a senior architect at LogicBlaze Inc., an open source SOA provider)
Snyder said enterprise-grade SOA should have flexibility on the back end as well as on the developer side, and by that he means making it easier to do things. "There's a portion of Java EE trying to standardize on that," he said, such as the move toward annotations with the JAX-WS spec. "It's good in terms of standardization, but in terms of flexibility and simplifying things, I'm not sure Java EE 5 does that. I still see people going outside of Java EE to look for solutions."
2. The Good (by Michael Bechauf, vice president of industry standards at SAP AG)
3. A sensate opinion (from J.Bloomberg, ZapThink.com)All this said, organizations have to be asking themselves, just how much work is involved in taking existing enterprise apps and componentizing/service-enabling them? And does Java EE 5 make it easier?
"Java EE 5 as a technology platform has made it dramatically easier to service-enable an existing Java application," said SAP's Bechauf. "For example, Java annotations can easily service-enable a Java method. Tools also may help a great deal with the service-enabling. If you wanted to do this with a bare-bones IDE and had to write all of the code yourself using Web service APIs, it could be a fair amount of work. If you were to use a tool which helped automate this process, it would be much easier.
Vendors that are part of the EE 5 ecosystem like SAP and JBoss are offering broader capabilities than just Java EE 5, said Jason Bloomberg, a senior analyst with ZapThink LLC. "You still need scalable, transactional Web sites, and if you want [IBM] WebSphere or [BEA] WebLogic that makes sense, but if you're looking to do SOA you're not going to focus on the same priority. It's what BEA is struggling with as it moved to SOA 360 º, for example. [Vendors] are rethinking what it means to provide a SOA platform."
4. A word from Bill Roth, Vice-President of BEA
While Roth said the company is not looking to distance itself from the Java platform, "are we saying things other than J2EE? Yes, for example an ESB is a useful way to think. There's no J in SOA, it opens up whole new world for us. The SOA world is not necessarily Java. Is Java the most productive platform for creating building blocks in SOA? Of course. Is it the best way to build everything? No.
Roth said he views building composite applications and Java EE 5 as orthogonal. "There are new technologies like Service Component Architecture, which describe how larger services are woven together and BPM [business process management], which talks about how services talk to each other. Java EE 5 [is about] how to build better services, but the process of weaving them together as an SOA is at a much larger level and might not involve Java."
5. And finally, the Importance of Service Component Architecture (SCA), by Richard Monson-Haefel, a senior analyst at Burton Group Inc.
Monson-Haefel said the Service Component Architecture (SCA) initiative "is supported by all the big players in EE space and SCA has little or nothing to do with EE."
SCA supports service implementations written using a variety of programming languages, including object-oriented languages, as well as Java, PHP, C++, and Cobol; XML-centric languages such as BPEL and XSLT; and declarative languages such as SQL and XQuery.
The fact that SCA is implemented on top of Java EE, but "doesn't reference Java EE specifically," is telling, Monson-Haefel said. "I don't have a lot of confidence that SCA will go anywhere, but all the vendors [involved] is indicative they're hedging their bets.
Monday, December 11, 2006
Free BPM Tool from TIBCO (Eclipse Integrated)

TIBCO First to Offer Full-Featured, Eclipse-Based BPM Modeling and Simulation Product for Free
— TIBCO Software Inc. , a leading business integration and process management software company that enables real-time business, today announced that the latest generation of TIBCO Business Studio(TM), version 1.1 is available for free.
More from this article: "To date, commercially available process modeling environments have been too cost-prohibitive for most companies to invest in for non-technical users. The few made available for free are generally not standards compliant, have limited functionality, or do not fit into the current IT infrastructure. As a result, models built in these solutions cannot be executed easily and, in most cases, require significant re-work by IT to ensure compliance with the execution engine. TIBCO Business Studio, version 1.1 is the first fully functional, standards-based process modeling product tailor-made for business users offered at no cost. This eliminates a key barrier to entry by giving organizations an easy, low-risk way to get started with their BPM projects."
The most important, the tool can be download from here!
Make SOA happen or SOA will happen to You
Don't panic, but think about. At Gartner Inc.'s Web Services Summit (Orlando, Fla., Dec'2006), this was a consensus among the analysts.See the complete report here.
Let's point out some important conclusions:
- "SOA is not something you chose to do. It will happen to you whether you chose it or not," stated Daryl Plummer, a managing vice president at Gartner;
- Throughout the first day of the show, Gartner analysts talked up their approach to SOA governance, called SOA Portfolio. "Portfolio is a set of capabilities that you track," Plummer said. "SOA needs to be tracked."
- According to Ivo Totev, vice president of product marketing for Software AG, "A company that focuses on SOA governance is 20% more likely to have an effectively running business."
Gartner advises to:
- Start it's governance/management approach with the underlying technical infrastructure of SOA, like middleware and integration protocols;
- Next in line are the procedures in use, like blueprints, templates and guidelines;
- The final piece involves composition, which includes business processes and the humans inside a business along with the orchestration of those people and processes.
- A central registry and repository are critical components of this dashboard. Any service is accounted for, guidelines are put into place and, therefore, the business has an organized system in play.
"No vendor has it all. You want SOA your way, not a vendor's way." Eliminating "suite" thinking, according to Plummer, allows for a more organic business processes that can deliver a better ROI.
JAVA EE 5, SOA, the bad, the good... (Part 1)
According to this report:
The good:
- Java EE 5 includes several key specifications intended to improve and simplify Web services support. These are: Java API for XML-Based Web Services (JAX-WS) 2.0, Java Architecture for XML Binding (JAXB) 2.0, Web Services Metadata for the Java Platform 2.0 and SOAP with Attachments API for Java (SAAJ) 1.3.
- The core tenet of SOA is loose coupling within Web services and without," Kassem said. "In Web services, our [J2EE 1.4] initial foray was very RPC-centric. That dramatically shifted with JAX-WS 2.0, it was an important programming model shift. It enables us to build more loosely coupled Web services that will scale very well for the Web. [It] was a significant SOA-centric initiative. Simultaneously, we [made] significant improvements in the JAXB 2.0 spec to enable better quality data bindings. The quality of bindings is really important. If you don't get the bindings right, you have round-tripping problems in the SOA world that you never get right. We're not completely there, but it's a big improvement.
- (from Richard Monson-Haefel) "What we're seeing are the last few years of Java EE as a leading choice in doing enterprise development, which is pretty obvious with the rise of rebel frameworks like Hibernate, Spring, Tapestry and Struts, which don't fall directly under the EE spec. These are indications that programmers are looking for platforms that are easier to work with. There are solutions you can use with Java EE like Struts, and many claim these reinforce EE as a good platform, but they're actually raising the abstraction so developers are working with the framework and not the EE platform programming model."
- Jason Bloomberg, senior analyst at ZapThink LLC, said, "In the big picture in the SOA world, people are moving away from Java EE 5. It's becoming less and less relevant. EE is essentially an architecture for building scalable, transactional Web sites. It's not designed for SOA. More people are understanding the limitations, and realizing there are other Java-based approaches. We're not seeing anybody interested in JAX-WS and JAXB. We are seeing open source Java suites as appropriate for SOA. It depends on what you're trying to accomplish, but we see a lot of use of elements of open source ESBs and Hibernate for various parts of the Java infrastructure. What we're not seeing is interest in Java EE."
Friday, December 08, 2006
SOA Presentation and Workshop at São Paulo (BR)

This week me and Denis Bertoluci (Software Architect Mgr), on behalf of Transit Telecom, presented a pratical case and a workshop at IQPC's SOA&WebServices summit. My presentation was about the SOA project that we are heading at Transit e Denis gave a 2 hours workshop (with pratical example) regarding the open-source alternatives to implement Service-oriented Architecture.
Friday, November 24, 2006
Introducing JBoss ESB

This news I got from SOA WebServices Journal. On Nov, 20 2006, JBoss announced the release of "JBoss ESB". See the press release here (PDF document).
Some excepts from this announcement:
"...With the addition of JBoss ESB to Red Hat’s arsenal, enterprises now have a complete set of leading, low-cost SOA building blocks for modern applications and the ability to run them on a virtualized Linux platform.
...
“JBoss ESB is the result of a true community effort, from the technology donation that helped accelerate our development timeline to the individual developers who brought their expertise to the project,” said Pierre Fricke, director of product management, JBoss. “This release provides a fundamental building block for our SOA integration platform. As an integrated company, Red Hat and JBoss are focused on delivering the leading open source platform for next-generation computing that drives down infrastructure costs for our customers without compromising on value and choice.”
Here are some key features of JBoss ESB 4.0 include:
- A pluggable architecture enables all JBoss ESB subsystems such as messaging and transformation to be swapped with other alternatives, which gives customers flexibility and choice.
- Support for a variety of messaging services, including secure FTP, HTTP, email and JMS (JBossMQ, JBoss Messaging, IBM MQSeries, and ActiveMQ).
- Transformation engine that bridges data formats for seamless communication, supporting XSLT and Smooks, a flexible alternative.
- Service registry for service discovery and integration, using JAX-R and UDDI.
- Persisted event repository to support governance of the ESB environment.
- Notification service to allow the ESB to register events and signal subscribers.
- Content-based routing based on XPath and JBoss Rules for a more flexible and dynamic alternative to publish-subscribe.
- Gateways that allow non-ESB aware clients to interact with services deployed within the JBoss ESB environment.
SOA: Less Coding = Less Outsourcing?

Coincidence or not, just after the presentation I gave at SUCESU-SP, I found this post on Joe McKendrick's blog.
The question presented at SOA in Action conference (registration required) is: If SOA can reduce the amount of code, so SOA can reduce outsourcing, right?
In my humble opinion, NO. If it's is true that
- SOA is growing up and it`s present in all to-do list of enterprises (as Joe point out);
- SOA can, in fact, reduce the coding (reuse, well-define services aligned with business process etc)
- and that fact that SOA is very attached to business process makes outsourcing more difficult.
- you can "broke" you software in many "pieces" (services)
- and theses parts of software have a defined interface
- and they uses webservices to communicate and exchange information
- and, beginning in its designs, these services have a well-defined scope
- and, finally, the demand for software will increase,
Wednesday, November 22, 2006
SOA Presentation at SUCESU-SP

Today at SUCESU-SP ("Sociedade dos Usuários de Computadores e Telecomunicações") I (on behalf of Transit Brasil) gave a presentation on "IT Risk Management" seminar. The presentation was about how SOA can reduce the risk in a IT environment: "SOA and BPM reducing risks in IT Outsorcing Process".
Monday, November 20, 2006
Hyperic: Managing your MULE (open source ESB)

MuleSource has announced that will use Hyperic HQ (from Hyperic), as the foundation for its new monitoring and management system, Mule HQ.
Hyperic developes two versions of an Hyperic HQ (IT management platform). One of them, Hyperic HQ, is open source.
According to this press-release,
...The new Mule HQ management tools will be available to MuleSource customers in Q4 2006.
With Mule HQ, enterprises using Mule in production will gain the ability to:
- Monitor and manage Mule instances from a single location
- Achieve integrated log, configuration, and server event tracking
- Auto-Discover Mule servers, associated software and hardware
- Report real-time and historical details of any event generated by any managed resource
About Mule:
Mule (http://mule.mulesource.org) is a Java-based, open source ESB and integration platform that enables enterprise developers to perform a wide variety of integration tasks, from bringing new applications into production, to modernizing legacy applications and platforms, to enabling SOA (Service-Oriented Architecture). With hundreds of production deployments worldwide, Mule is the industry’s most battle-tested open source integration approach.
About Hyperic:
Hyperic HQ (http://www.hyperic.org) is the industry’s best and most comprehensive product to manage a software stack in production, whether it's J2EE-based, open source, or a hybrid. An extensible system, Hyperic HQ monitors virtually all kinds of operating systems, web servers, app servers and database servers, and can be extended to monitor most types of applications—both at a technical and business level.
See here the server and the agent architetcure.
Thursday, November 02, 2006
Back to Blogger!
Sunday, August 20, 2006
OSOA: Open SOA Initiative

This month of Aug'06 was released the website of the Open Service Oriented Architecture collaboration (OSOA). This is the OSOA definition:
The Open SOA Collaboration represents an informal alliance of industry leaders that share a common interest: defining a language-neutral programming model that meets the needs of enterprise developers who are developing software that exploits Service Oriented Architecture characteristics and benefits. The Collaboration is not a Standards Body; it is an alliance who wish to innovate rapidly in the development of this programming model and to deliver Specifications to the community for implementation. These specifications are made available to the community on a Royalty Free basis for the creation of compatible implementations. When mature, the intent is to hand these specifications over to a suitable Standards Body for future shepherding.
Sunday, July 30, 2006
My new Computer: an iMac

For years I have dreamed with a Apple Computer. Now this dream came true. I just received my new iMac. The best, powerful and beautiful computer on earth :-). Do not forget that we have BSD behind the MacOS.
Definitively I do not miss the PC+Intel+Windows. Besides this I have the best user interface and the power of Unix (BSD), like this:
Friday, July 28, 2006
The Seven Secrets of SOA Success
There's no doubt that the computing era of Service Oriented Architecture is upon us. Everyone has caught SOA fever (is it S-O-A or SO-AH?) and most Fortune 500s are considering or have already implemented their first set of services.
Tuesday, May 23, 2006
SOA: Architeture and Modeling (from IBM)

And this is the Ali's vision about the layers in a SOA typical architecture (and believe me it is valid today!):

A good article about the basic SOA principles and components definition.
Monday, May 22, 2006
SOA Terms Definitions
Service – a repeatable business task represented by a software module deployed on network accessible platforms provided by the service provider. Its interface is described by a service description. It exists to be invoked by or to interact with a service requestor. It may also function as a requestor.
Service Orientation – an approach to integrate business tasks as loosely coupled, linked services
Service Oriented Architecture –An architectural style of the structure of a software system in terms of its components and the services they provide, without regard for the underlying implementation of these components, services and connections between components
Composite application - a set of related & integrated services that support a business process built on an SOA
Components - Definition of a modular unit of functionality, accessed through one or more interfaces. A component may be composed of other components, but a component is not necessarily a service.
Service Component Architecture (SCA) - a set of specifications which describe a model for building applications and systems using a Service-Oriented Architecture. SCA extends and complements prior approaches to implementing services, and SCA builds on open standards such as Web services.
Business Process Management - Covers the full range of application-to-application, inter-application, workflow and person-to-person process management, including process design, automation, management, and continuous improvement.
Service Registry - a searchable registry of service descriptions where service providers may publish their service descriptions. Service requestors may find services and obtain binding information (in the service descriptions) for services during development for static binding or during execution for dynamic binding.
