To compensate for my lack of time to write some decent blog posts I'll twitter about my study activities.
So follow me on @explorenet.
To content | To menu | To search
Wednesday 1 September 2010
By Steven Hillaert on Wednesday 1 September 2010, 21:40 - SOA
To compensate for my lack of time to write some decent blog posts I'll twitter about my study activities.
So follow me on @explorenet.
Tuesday 31 August 2010
By Steven Hillaert on Tuesday 31 August 2010, 12:47 - SOA
Finally I had the time to take the S90.03 exam (SOA Design & Architecture ), I know you've all been waiting for some info on this.
For the moment I don't have the time to go into detail about it but I'll give you the general idea of the exam:
It goes more into detail about the principles of service design, the relation between the different principles, how they are related to the SOA goals and the place of SOA in the enterprise. Specially service composition seems very important in the exam.
For my eager followers, you won't have to wait very long for some info on exam S90.04, I scheduled the exam for September 27.
Monday 29 March 2010
By Steven Hillaert on Monday 29 March 2010, 13:20 - SOA
Today I successfully passed exam S90.02 and with that I earned my Certified SOA Professional rank :)
The exam format is the same as S90.01, 50 questions (true/false, single choice or multiple choice questions), 1 hour to finish and the pass rate is 78. 45 minutes should be enough to answer all questions and review them a second time.
What do you need to know to pass? Basically what the title of the exam says,
the concepts of the technologies behind SOA:
- WSDL, SOAP
- contracts
- XML, XML Schema
- Service roles
- REST
- ESB
- WS-* specifications
So you have to understand what they are used for and how they relate but not how to implement them.
Sunday 7 February 2010
By Steven Hillaert on Sunday 7 February 2010, 20:00 - SOA
Introduction
A service is the essential artifact in SOA, everything revolves around it, you'll be analyzing, modeling, designing, implementing, governing and versioning services. A service is a specialized piece of business logic, a piece of software that is designed by following the ideas, principles and patterns in mind that will fulfill a specific business need. Finally, some logic implemented as a web service is not automatically a (SOA) service.
Classifying services
When you're modeling and designing services you'll see that most services can be classified as a Utility, Entity or Task service:
- utility services: these are the services that don't have any real business knowledge and they are the most agnostic, this gives them the highest reuse potential. Utility services could encapsulate logging, notification,...
- entity services: these will most likely support CRUD operations on business entities such as clients and orders. Although they are working with business entities they are still very business agnostic, they don't have any knowledge of the business process that is using them. This gives them a also a high reuse potential.
- task services: they are specialized in executing a specific business task and so they have specific business knowledge and rules, this makes them less likely candidates to be reused
Modeling/designing services ...
Before you start a specific service implementation think about the big picture first and make an enterprise service blueprint. This is a high level overview of the services that will probably be needed by the enterprise. It will give you more guidance, direction, help set priorities and avoid future overlap between services.
Business is at the core of a SOA solution so everything starts by a specific business need that needs to be fulfilled. Then it's no surprise that the SOA delivery life cycle starts with the business analysis. When this is done the service modeling can start, this is to conceptualize the services that will fulfill the business need, this must be done by the business analyst and architect to keep the business and services aligned. Now comes the design fase, here the final services are chosen and get their technical design from the architect. Now the actual development of the services can start. A future article will go into more detail about the SOA delivery life cycle.
Always keep the principles and goals of SOA in your mind, are the services loosely coupled, do I have a standardize service contract, what will be the impact on the governance... Make every service as specialized and agnostic as you can, this will greatly enhance their reuse potential and avoid overlap with other services.
Service Implementations
Once your services are designed you can start implementing them. The technology that you'll be using is up to you, you're not limited by only SOAP based web services. The services can be also implemented as components or REST services. You don't necessary need to use an "open" technology, if your enterprise is completely Microsoft oriented you could use WCF over TCP with binary encoding and you would still be doing SOA.
Wednesday 27 January 2010
By Steven Hillaert on Wednesday 27 January 2010, 14:34 - Poll
Checkout the new poll on top of the right sidebar.
Are you thinking about getting somekind of SOA certification, are you busy getting one, do you already have one or are you not interested? If you have any remarks, questions, opinions or experience on the subject of this poll then let us know by commenting here.
Thursday 21 January 2010
By Steven Hillaert on Thursday 21 January 2010, 09:30 - SOA
Introduction
Service Loose Coupling means that each service is an isolated entity with limited dependencies on other (shared) resources. These resources could be technologies, (legacy) applications, databases, components, API's, infrastructure... The more a service is isolated from external resources the more predictable and reliable it will be. Don't start thinking that you can't have dependencies/relationships between services, service compositions are essential to SOA and is also one of the SOA principles but services shouldn't share the same underlying resources such as a database.
Standardized Service ContractService Loose Coupling also means that the service contract should be created with this principle in mind. When the contract is generated from a developer tool or runtime environment you automatically make the service dependent on that technology and so the service implementation and consumers will also be dependent on that technology.
Good Coupling and Bad Coupling
By now you should have realized that some types of coupling are good (allowed) and some are not good (or should be limited) and some are necessary. Coupling a service to a service contract is good but not the other way. Coupling between services is good, services must be composed to to create new business capabilities. Eventually the service will be coupled to a specific technology and runtime, this is necessary, you must develop your service with some technology but avoid the coupling of you contract to a specific technology.
Wednesday 20 January 2010
By Steven Hillaert on Wednesday 20 January 2010, 15:30 - SOA
Introduction
The service contract is probably the most important thing/document/artifact
that you'll be creating or using concerning a SOA implementation. This is what
technically defines a service, what it will look like, what it is capable of
doing and how it's going to do it.
Standardized Service Contract
A service contract should be standardized by industry and design standards,
this will greatly enhance interoperability with other vendor platforms and
internal applications/services. The contract is created after the service
analysis and modeling but before the implementation of the service. It's
important to use contract-first design to avoid any dependencies from the
contract on a specific implementation or technology. The service implementation
and consumers must depend on the contract but not the other way around.
Contents
The contract will contain the following technical "documents" (not necessarily
human readable documents):
- service definition, this contains the technical details of the service and
its capabilities (headers, methods...)
- data definitions, this shows what the exchanged data will look like
When implementing the services as Web Services this will correspond to WSDL and XSD respectivelay. Besides these documents you might also have policy definitions when using Wew Services (WS-Policy) to enforce security or other enterprise policies.
Besides the technical documents there can also be other (non-technical) documents included in the contract such as an SLA.
The above documents can all be created independently from each other. Data and policy definitions can and should be used by different services when appropriate. This will greatly enhance the interoperability between applications and services, if different services in the enterprise use the same data but use different definitions you'll have to make data transformation and integration efforts, this is exactly what SOA wants to avoid.
Governance
The governance is also important to contracts, someone must "own" the contract
and preferably not by a specific project. This is necessary to have a
successful evolution of the service an to avoid that one party can make
breaking changes to the contract.
Monday 4 January 2010
By Steven Hillaert on Monday 4 January 2010, 16:31 - SOA
I just scheduled my first soaschool.com exam for December 30, just in time to keep on track with my planning to do one exam this year :-)
I've read the book SOA: Principles of Service Design completely, read the self-study material and I tried the sample questions. Until D-day I'll probably listen to the the CD's with podcasts and review the most important chapters of the book that concern the first exam.
Once I took the exam I'll let you know what it was like.
UPDATE: Because the exam center unexpectedly had to close last week I was forced to reschedule my exam to January 21.
Wednesday 14 October 2009
By Steven Hillaert on Wednesday 14 October 2009, 11:59 - SOA
Don't expect an answer, only a question.
Could Oslo be used as a service repository in SOA within the enterprise? If
so this could be quite powerful. You can create a grammar for the service
contracts (wsdl, xsd...) and additional information concerning the service
(SLA, discoverability...). This could really help in standardizing and
centralizing the governance of SOA in the enterprise.
Might this be a valid implementation of Oslo?
Tuesday 22 September 2009
By Steven Hillaert on Tuesday 22 September 2009, 10:35 - SOA
« previous entries - page 1 of 2