<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Requirements for an Enterprise Service</title><link>http://blogs.msdn.com/nickmalik/archive/2006/12/12/requirements-for-an-enterprise-service.aspx</link><description>An enterprise SOA service is not just any old web service. There are specific requirements that it must meet. These are not optional, yet I have not been able to find many resources on the web describing these requirements. (Reasons = different post).</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: Requirements for an Enterprise Service</title><link>http://blogs.msdn.com/nickmalik/archive/2006/12/12/requirements-for-an-enterprise-service.aspx#1266535</link><pubDate>Tue, 12 Dec 2006 18:51:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1266535</guid><dc:creator>Sam Judson</dc:creator><description>&lt;p&gt;Very thoughtful post with lots of valid points. Well done.&lt;/p&gt;</description></item><item><title>re: Requirements for an Enterprise Service</title><link>http://blogs.msdn.com/nickmalik/archive/2006/12/12/requirements-for-an-enterprise-service.aspx#1332812</link><pubDate>Wed, 20 Dec 2006 22:15:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1332812</guid><dc:creator>Steve Rdzak</dc:creator><description>&lt;p&gt;Nice take. We have the notion of Channels on our ESB where Services exposed on the Enterprise channel must have many of the characteristics you denoted. What we don't have is the built in Admin/Management operations you describe. I am going to explore that with my team. Other channels on the ESB may be private and provide for less stringent service requirements.&lt;/p&gt;</description></item><item><title>re: Requirements for an Enterprise Service</title><link>http://blogs.msdn.com/nickmalik/archive/2006/12/12/requirements-for-an-enterprise-service.aspx#1472680</link><pubDate>Mon, 15 Jan 2007 23:08:56 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1472680</guid><dc:creator>Benjy</dc:creator><description>&lt;p&gt;Interesting post. Im developing a sort of blueprint for the internals of Business Services in my platform architecture. (The overall model follows the SOA Blueprint prescribed by OASIS, but there is no drill down guidance as to whats inside a Business Service). I think these business services map somewhat to your Enterprise Services. &lt;/p&gt;
&lt;p&gt;I like the idea of Ping and Check. But i am not sure of the GetSupportData idea. &lt;/p&gt;
&lt;p&gt;1 problem is security. depending on who can access that data, knowing the servers etc could pose a security risk. You dont really want people knowing whether your service accesses a particular database or whether it calls some other service do you? &lt;/p&gt;
&lt;p&gt;Secondly, shouldnt be able to install the service on any available box as your infrastructure grows and changes so would you then impose an extra management task to update the config data ? for an ops team , they would of course have to have this stuff documented but within the service? &lt;/p&gt;
&lt;p&gt;somewhere else, someone mentioned that the management interface to the service should be able to provide info such as audit trails, which consumer connected at what time (using certificates etc) and so on. what do you think of this?&lt;/p&gt;
&lt;p&gt;i think it would be useful to drill down a bit deeper into the anatomy of an enterprise service. Maybe MS will provide some prescriptive guidance.? would definitely be useful.&lt;/p&gt;
&lt;p&gt;Cheers&lt;/p&gt;
&lt;p&gt;Benjy&lt;/p&gt;</description></item><item><title>re: Requirements for an Enterprise Service</title><link>http://blogs.msdn.com/nickmalik/archive/2006/12/12/requirements-for-an-enterprise-service.aspx#1476072</link><pubDate>Tue, 16 Jan 2007 11:31:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1476072</guid><dc:creator>NickMalik</dc:creator><description>&lt;p&gt;Hello Benjy,&lt;/p&gt;
&lt;p&gt;I grant you that the GetSupportData service should only be allowed to be called by users who perform a Support role. &amp;nbsp;Therefore, if a non-support consumer were to make the call, they should get an access violation. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;That said, I do think that it makes sense that a service should describe where it is installed, even if that adds the effort to change the config file when the service is installed (although a lot of support info, including the name of the server, is available through API calls). &amp;nbsp;If you have a load balanced service running on four servers, and one instance is having trouble, you want to be able to isolate the instance to the specific server.&lt;/p&gt;
&lt;p&gt;While I agree that an audit trail is necessary, I'm not sure that I would build a GetAuditTrail call into the interface of the service, or if I would have the service call a plug-in to register calls to a common infrastructure. &amp;nbsp;That way, you could pass the name of the service to the audit infrastructure, and it could produce the audit trail. &amp;nbsp;This is not the interesting case, however. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;A central audit infrastructure can go the extra step of providing end-to-end audit, so that a sequence of calls to a series of composable services orchestrated in a process can be demonstrated in a single audit trail, allowing for not only a reliable audit but excellent information for both root cause analysis and &amp;nbsp;validation of the compensation mechanism.&lt;/p&gt;
</description></item></channel></rss>