-
Eventing with and without Topics
While WS-Eventing has no support for Topics ( see last post) it is almost essential for efficient processing of messages if you have a large amount of subscriptions.
Consider the case of 10,000 Subscriptions for 10,000 Notification you are looking at 10^8 expensive xPath comparisons which will bring many servers down to its knees.
With EDA we can easily solve this problem ( compare to an overloaded DB) .
Lets say we have a Topicless share pricing feed something like
<Trades>
<Trade>
<Symbol>BHP</Symbol>
<Price>38.12</Price>
<Volume>10000</Volume>
<Exchange>ASX</Exchange>
</Trade>
</Trades>
Now WS-Eventing has a really nice feature in that subscriptions can force notifications to contain a header this header can...
-
WS-Eventing flaw
Just doing some work on eventing and having a look at a number of implementations there is a pretty annoying feature / flaw .
By default the only filter supported is Xpath and the specification specifically states that
This specification does not constrain notifications because any message MAY be a notification. from http://www.w3.org/Submission/WS-Eventing/.
I have no issues for this - sometimes you want any message , however this is a very expensive way to do this especially when you have a large amount of events with different topics all coming through a single notification service ( load balanced) .
All the implementations...
-
OSLO to be or not
Based on the limited information so far .
Im not really sure about Oslo ( as opposed to Dublin and Azure which i think will be big hits) it reminds me a LOT of UML and associated higher end tools which manage synch the UML to code and database schemas.
For a start we have to learn a new language ( ok its similar but there are a lot of differences) that immediately has to be a barrier to entry . In return it doesn't make anything easier it just unifies a lot of different thigns under a bigger umbrella...
-
POS or SOA Lite TODO
I think Service Orientation has gone the way of J2EE/ EJB and needs to be pulled back like was done with POJO.
I propose POS Plain old Services or POSA for Plain old services architecture.
Rules.
1) There is only one rule and that is KISS.
-
Why use Queues ( MSMQ) in services ?
Queues love them or hate them seem to be pretty popular. I'm definetly on the hate side especially persistant queues
Lets look at some recommendations
Use private queues. Very few applications need public queues and the performance hit is substantial.
Use non-transactional queues. Again, very few applications need transactional queues.
System.Messaging is messed up in a lot of ways, but you can work around that.
Use the asynchronous methods of System.Messaging (BeginReceive and BeginPeek) where possible.
Learn to build your own formatter for System.Messaging.
I...
-
.Net services message persistance
Well looks like .Net services doesn't have persistant messaging ( no queues or persistance of subscriptions ) . This will probably be address in v2 . There is a 30 second message buffer for polling replies but this is not the same.
This is especially an issue for mobile computing ( PDAs , phones etc which are often offline) and for wrapping legacy systems. Though its unlikely that legacy systems will be wrapped by .Net services ( more likely the service bus will redirect it to locally hosted services) .
Im not a big fan of queues however. See post.
-
What is Azure Services ?
Are Azure services a cloud or are they an ESB ?
While Azure does not have this it has FAR more than most ESB in terms of connecting clients to services. Sure it has router support
Azure >> ESB (Internet hosted , with integrated internet security , scalable)
Azure >> Cloud computing ( not just Client - Service routing and hosting but also it has sender-receiver relay , multicast , firewall pass through , and enterprise-cloud security integration)
The big thing is people see it as a cloud .. however i think the biggest thing is it can redirect clients...
-
Windows Azure services - First impressions
I have been looking at the PDC cast of Windows Azure and all I can say is wow.
At first i thought it was just another cloud but its a new generation compared to other offerings and most important its designed to win corporates. Integrating with current enterprise systems in a secure manner will be the key.
Will it succeed - certainly ( barring some outage disasters which will hurt them bad) . However it wont succeed just for Web 2.0 ( of which i am sceptical in the long term) but think of corporate laptops ,PDAs , small offices...
-
SO Analysis
Lots of books and posts have been written but IMHO they fail miserably.
- They involve a new language/diagram
- They use propriatry tools
- Focus heavily on BPEL and you need services to drive the BPEL (mmm)
- They are overly complex. and hence violate the most important rule KISS.
I prefer a loose guideline like the following.
Consider the large-grained logical services your systems represent (such as Accounting, Sales, Manufacturing, Design)
Ignoring political / divisional boundaries, consider each large-grained logical service and conceptualize how it should be broken up into finer and finer...
-
Handcrafting wsdl /Contract First
I cant people are still hand crafting wsdl ! Contract first is good but you dont need to handcraft it , Create your contract in Windows Communication Foundation and expose the wsdl . Quick and easy spend your time learning something else than wsdl or even doing some coding.
In 2005 there was an interesting debate about it
http://staff.newtelligence.net/clemensv/PermaLink.aspx?guid=39ba6b34-40ba-42ef-ba78-9f9ebefe6a7a
I love this quote
"
I don’t need to be able to read and write PDF to use PDF. I use PDF if I know that someone will open my document who is not using Microsoft Word. Still, that PDF doc isn’t the...
-
SOA ESB and hype
There is a huge amount of hype around SOA especially around the ESB. Companies are wasting a fortune and it has been going on for a long time now.
Here is one from 2005
http://blogs.msdn.com/richardt/archive/2005/05/04/414833.aspx
Richard tried to distinguish from the hype by using the term just Service Oriented (SO) instead of SOA.
The end result is companies are wasting HUGE amounts of money on consulting repositries frameworks etc . The thing with Service Oriented is its light and it doesnt matter ALL what matters is converting or wrapping your legacy code and that has been happening at a poor rate -...
-
Is there a roll for OO in SOA
From Richard Turners blog
SO and OO are complementary technologies:
SO is how one thinks about building systems as a whole:
A System is a set of deployed services cooperating in a given task
Systems are built to change
Systems adapt to the introduction of new services after deployment.
...
-
Agility vs Planning
Pretty nice discussion about the book Balancing Agility and Discipline
http://www.reliablesoftware.com/DasBlog/default,month,2007-05.aspx
Im think if you have too much agility you will not get a very good ROI from your investment ( though everybody maybe happy except for the person who pays the bills)
-
Is SOA a Belief system and what does that mean for Team dynamics
Best SOA posts on the net ( and the comments)
http://blogs.msdn.com/richardt/archive/2005/12/13/503358.aspx
This is what I believe SO is ... it truly is a belief system and a way of thinking. It is not a prescriptive architectural process or methodology. It's not a template that you can apply that results in a service oriented system. It's where art meets science. It's where aesthetics meets engineering. It's the thing adds a human touch to the things we create. It's inside of me and it's inside of you....
james governor said:
i am with anil. a call for an epiphany is kind...
-
DTO pattern
http://msdn.microsoft.com/en-us/library/ms978717.aspx
http://martinfowler.com/eaaCatalog/dataTransferObject.html
I still think Martin Fowlers description is best
An object that carries data between processes in order to reduce the number of method calls.
While DTOs were designed for the above they provide key benefits to distributed systems
1.Performance
Typically Objects in OO have quite a chatty interface , this is good for design purposes as these communication mirror the relationships between the objects however the performance implications for distributed systems are significant and worse the worry about performance last mentality in software development makes a significant issue as these issues are VERY expensive to fix as the design from the start is...