Publications
SOA Refactoring Best Practices
[Pre-order copies]
The latest technologies trends, challenges and solutions surrounding
service-oriented refactoring and middleware.
SOA Refactoring and Middleware
[Pre-order copies]
The latest technologies trends, challenges and solutions surrounding
service-oriented refactoring and middleware.
SOA Refactoring and Mainframes
[Pre-order copies]
The latest technologies trends, challenges and solutions surrounding
service-oriented refactoring and mainframes.
SOA Refactoring and Web Services
[Pre-order copies]
The latest technologies trends, challenges and solutions surrounding
service-oriented refactoring and Web services.
SOA Refactoring and Security
[Pre-order copies]
The latest technologies trends, challenges and solutions surrounding
service-oriented refactoring and security.
|
Features and Announcements
July 5, 2008
Welcome to SOA Refactoring
This site is devoted to all issues and trends pertaining to the
refactoring of legacy code/systems to an SOA architecture. This
includes:
-
Tools and techniques for exposing existing business logic
services in a secure manner
-
Tools and techniques for exposing existing data services in
a secure manner
-
Best practices for service-oriented design
-
Forums and articles to guide your refactoring efforts
|
|
May 19, 2006 [4]
Top Ten Traits of the Successful SOA Organization
Reading from CBDI, Lawrence Wilkes identifies the following top ten traits of the successful SOA organization:
- Have a level of cultural and organizational maturity that supports SOA goals
- Ensure there is an appropriate balance of investment in shared assets and activities that might only realize benefits in the longer term
- Organizational separation between provisioning and solution assembly
- Create a Service Portfolio that is the inventory of enterprise assets from which projects source the capabilities they require
- Continually assess where you are on the SOA Maturity curve and other appropriate process maturity models
- Put clear management direction in place for SOA
- Enjoy the luxury of already having a portfolio of modular systems, built on an inventory of shared components
- Promote sound software engineering discipline that ensures reuse, consistency and traceability and applied best practices such as component-based development (CBD)
- Focus SOA attention based on a real compelling event, such as a merger or terminal decline, that instigates strong motivation to re-engineer the portfolio
- Put a good IT governance framework in place
|
|
May 15, 2006 [3]
The Four Pillars of SO Development
According to SearchWebServices.com and Jason Bloomberg , Senior Analyst, ZapThink, LLC the Four Pillars of SO Development are:
- Iterative development -- we're representing each sphere of development with a pair of arrows to indicate the fundamentally iterative nature of SO development. Business analysts must work iteratively with business users, both to satisfy the original requirements as well as to maintain agility as those requirements change. Likewise, component developers must continually iterate their code to satisfy ongoing changes to the service contracts.
- User involvement -- unlike the waterfall model, where users specify requirements at the beginning of a project only, business users continually drive SO development. The meta-requirement is for a system that responds well to change, and as a result, the "requirements definition phase" of any SO project is actually a set of ongoing activities.
- Contract-first development -- Business analysts work with users to distill requirements into contracts that then act as the marching orders for component developers. Such metadata both represents the requirements as well as the test plans that analysts can execute to guarantee that services meet their requirements. In other words, contract-first development is an example of test-first development, and both approaches are examples of metadata-driven application development.
- Refactoring -- The services layer of abstraction affords IT the luxury of a curtain that hides the inner workings of the technology from the business. Rather than an excuse to maintain a poor infrastructure, this abstraction layer actually gives IT more leeway to make continual improvements to the technology. Refactoring is thus the underpinning of reuse, as IT may now work to streamline technology across platforms to meet the needs of the business.
|
|
May 15, 2006 [2]
Three Facets of Messaging Middleware Reliability
According to Using Message-oriented Middleware for Reliable Web Services Messaging, messaging middleware reliability is embodied in three facets:
- Middleware endpoint-to-endpoint reliability - A message, once delivered from an application (process) to the messaging middleware, is guaranteed to be (eventually) available for consumption by the receiving process. The middleware ensures eventual message delivery within its distributed network of middleware endpoints.
- Application-to-middleware reliability - The middleware's messaging API, used to send and receive messages, supports reliability properties such as message delivery guarantees, message persistence, and transactional messaging.
- Application-to-application reliability - Sending and receiving applications engage in transactional business processes that rely on application-to-middleware reliability and middleware endpoint-to-endpoint reliability.
|
|
May 15, 2006 [1]
Message-Oriented Middleware Concepts
According to Carnegie Mellon - Software Engineering Institute:
"Message-oriented middleware is software that resides in both portions of a client/server architecture and typically supports asynchronous calls between the client and server applications. Message queues provide temporary storage when the destination program is busy or not connected. MOM reduces the involvement of application developers with the complexity of the master-slave nature of the client/server mechanism."
"Nominally, MOM systems provide a message queue between interoperating processes, so if the destination process is busy, the message is held in a temporary storage location until it can be processed. MOM is typically asynchronous and peer-to-peer, but most implementations support synchronous message passing as well."
"MOM is most appropriate for event-driven applications. When an event occurs, the client application hands off to the messaging middleware application the responsibility of notifying a server that some action needs to be taken. MOM is also well-suited for object-oriented systems because it furnishes a conceptual mechanism for peer-to-peer communications between objects. MOM insulates developers from connectivity concerns- the application developers write to APIs that handle the complexity of the specific interfaces."
|
|
|
|
|
|