Blog Clemens Reijnen

Recent posts

Tags

Categories

Navigation

Pages

Archive

Blogroll

    Disclaimer

    The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

    Model Service Agents with the Service Factory

    A Service Factory Modeling Edition Extension To Enrich Team Architect’s Application Diagram Feature “Implement Application”

    MPj04227930000[2]

    A service on the Application Diagram can have a one or more .NET Service Endpoints which are service providers, they expose operations. These "Service Providers" can be/ should be implemented with the Service Factory, but what about the other endpoints a service can have?

    A service must gets its data from somewhere, from a database, from an excising service or from a “not yet excising ”service. So called "service consumers".

    serviceendpoints

    A connection with a database is easy, just a connection string in the configuration file and for further modeling the ADO.NET Entity Framework.

    But what about the other two? Just add an service reference and start coding is not the best way to go we need some more sophisticated Service Agents and for the “not yet excising” service we even can’t add a service reference.

    A Service Factory isn’t complete if it can’t handle that ;-) a service is not only exposing but also consuming things.

    So, I added an Service Agent Model to the Service Factory Modeling Edition. Hoorays’ for the P&P group, they really made an easy extensible architecture, a kind of pluggable one… you want this, plug it in and it works.

    Anyway, I created a new DSL project in a different solution, designed the DSLDefinition and added these projects to the Service Factory Solution.

    ServiceAgentDSL

    After that, you have to change the Strong Name Key File to the Service Factory SNK File, add values to some classes and recipes and add the templates to the guidance package. Olaf explains this in depth in the Extensibility Walkthrough.

    Following you can start designing the code generation within the Service Factory. Not completly finished that, also not finisched the service Agent DSL [just enhough for this pilot, see image above].

    Within the Service Agent code I use P&P’s EntLib ObjectBuilder. Which made it easier to replace functionality and to develop functionality independently. That’s what we need, when we have to make a service agent for a “not yet finished” service where we don’t have a WSDL and aren’t able to generate the Service Proxy.

    sacode

    I don't think you can read this picture, if you want to look at the implementation... it's almost the same as the implementation used within the WCSF reference application. 

    Because we can extract the operations and types from the Team Architect’s Application Diagram we are still able to generate a “skelton” service agent for a “not yet finished” service. With enough implementation code [service operations and message contracts] to start developing business functionality.

    Within the “red” swim lane there is the ability [a recipe] to import the models from the AD. It generates the services shapes and their operations with the request and response types. For a existing service the WSDL is collected from the AD. So, for further code generation it can generate the service proxy and web reference. For a “not yet finished” service it also creates the services shapes and their operations.

    From there we can start modeling [the green swim lane] the Service Agent operations, parameters and point them to the service operations. On this swim lane is the generate code recipe.

    Still some challenges ahead [what if a “not yet finished” service is finished], but I think a nice starting point for further development. For example the connections between the two operations actually are the translators between the types. Right mouse click on that line and fire another diagram where you can define the mappers [pdf]… just an idea :-)

    Posted: Oct 31 2007, 23:53 by Clemens | Comments (0) RSS comment feed |
    • Currently 0/5 Stars.
    • 1
    • 2
    • 3
    • 4
    • 5
    Filed under:

    Bad writing day, mind block our better writers block.

    MPj04227930000[1]

    I have to write a bunch of articles about our TAP project for internal use, external use, for developers for managers… but couldn’t focus myself today.

    So, what did I do instead of using Words, I played with some thoughts, some scenarios about Application Lifecycle Management and the major role Team Architect is going to play [is playing ] in it.
    For example when you read my previous post about Health Modeling, DFO, Team Architect and the Factories. That would really be a benefit for the ALM strategy.

    While Microsoft is mainly focusing on VSTS and TFS as THE ALM Tool [watch this webcast], ALM is much bigger, you also must think about operations, design for operations, you also must think about the business [they are going to consume the Life you’ve made, and kill it].

    Another example security, did you know that you can use the Threat Analyses & Modeling Tool with Team Architect and TFS? You can import the deployment diagram, define your use cases the use of the components and generate work items in TFS for the developers and testers.

    With that, I started today with the creation of WorkItems in TFS at the moment a Factory is fired from the Application Diagram. See the picture taken from my whiteboard

    DSC00650

    You already know which steps the developers must make to finish that “delimited” piece of work, you can even keep an history repository from it, for estimating.

    Anyway, I didn’t finished the implementation today, but I will get back on that.I have to focus myself on writing again ;-)

    Posted: Oct 25 2007, 23:54 by Clemens | Comments (1) RSS comment feed |
    • Currently 0/5 Stars.
    • 1
    • 2
    • 3
    • 4
    • 5
    Filed under:

    Some Rosario Team Architect and Factory Platform Information

    Due to NDA I’m not able to openly talk about the Rosario plans according to Team Architect and the Software Factories… but I can point to some information about it.

    nda1

    This is what Mark Groves wrote in a forum post:

    At a high level we are planning on providing greater designer functionality and rich integration with Software Factories, including Domain Specific Languages.

    That would be great, the integration between the Distributed System Designers and the P&P factories is not very easy at this moment, but it can be done ;-) and it really adds value to the application lifecycle, but for example at this moment it’s not possible to capture shape properties our events from the model.

    Don Smith is giving use some more details on the Service Factory Codeplex site:

    Rosario is the next version of Visual Studio Team System (VSTS) and will ship with a Software Factory platform built into it. This platform will replace and integrate with much of the platform the Service Factory is based on. The patterns & practices team is currently working directly with the Visual Studio Team Architect team to migrate parts of the Service Factory to Rosario. We are working to release parts of the factory during CTP 10, Beta 1, and Beta 2 on the Rosario Virtual PC image.

    It is important to understand that during these drops, we will only be releasing parts of the factory and it is not targeted to Web Service developers. Rather, these drops of the factory are being built and released to illustrate how to build on top of the new factory platform in Rosario. This is not Web Service guidance – you might call it factory building guidance for the future.

    While this is not the type of work typically done by patterns & practices, we are doing so because the Rosario team has made a commitment to us to build a factory platform – we have committed to them to help make sure they get it right by proving it with a real Software Factory.

    So, we have to wait for … weeks/ months? To get this Virtual PC image.

    Can’t hardly wait

    Posted: Oct 17 2007, 00:00 by Clemens | Comments (1) RSS comment feed |
    • Currently 0/5 Stars.
    • 1
    • 2
    • 3
    • 4
    • 5
    Filed under:

    Announcing the *European* Service Factory Customization Workshop! (held 14-15-16 November in The Netherlands)

    Get your hands dirty with the Factory tools...

    [from UsingEnglisch.com]:

    If you get your hands dirty, you become involved in something where the realities might compromise your principles. It can also mean that a person is not just stuck in an ivory tower dictating strategy, but is prepared to put in the effort and hard work to make the details actually happen.

    factory

    details can be found here.

    Posted: Oct 13 2007, 00:02 by Clemens | Comments (0) RSS comment feed |
    • Currently 0/5 Stars.
    • 1
    • 2
    • 3
    • 4
    • 5
    Filed under:

    Dutch RSS Subscriber Notice

    For everybody who only read my posts with some kind of RSS Reader and never visit the real site [and read Dutch]... I've add a summary of Dutch posts to the right side.

    site

    for all the RSS readers... this how my Blog looks like ;-)

    Posted: Oct 13 2007, 00:01 by Clemens | Comments (0) RSS comment feed |
    • Currently 0/5 Stars.
    • 1
    • 2
    • 3
    • 4
    • 5
    Filed under:

    It’s all about Viewpoints.. DSI – ALM – DFO -SDM and Communication..!

    090

    Microsoft is talking for a long time about their Dynamic Systems Imitative [DSI], I think March 2003 they announced it and lately there is some more talk about Application Lifecycle Management [ALM] and Design For Operations [DFO].

    For a while Visual Studio 2005 Team Architect Edition [VSTESA] and Microsoft Operations manager 2005 [MOM] where the only “technical” visible products from Microsoft with their SOAP based SDM language who implement this DSI/ALM vision from Microsoft. But with the current release wave of new products [SCCM2007, SCOM2007, Visual Studio Team System 2008], the work from the Patterns and Practice group and the ability to customize them this vision of Dynamic Systems and Application Livecycle Management gets a boost.

    Within the work I’m doing with Team Architect and the Service Factory Modeling Edition you already have some Dynamic Systems benefits. For example next to better communication between solution architects and developers, better communication with infrastructure architects and solution architects… also the red marked points from this list [founded in the Dynamic Systems 2007: Get Started With Dynamic Systems Technology Today whitepaper]

    Presentatie1

    So, with Team Architect and the factories we’ve got less complexity, more communication and more control of our systems during the development.

    But ALM - DSI is also about operations “the yellow marked text”. We need to enable our services and applications for operational support. One solution to accomplish this, is to make the code-generation a little bit more intelligent that it also generates some logging and that kind of functionality. But operation specific decisions should be made by the operations department and not by the factory designer!

    So, it should be better to have a viewpoint from where the operation manager can design [together with the solution architect] the Health Model for the system.
    Microsoft already has such a tool the “Microsoft Management Model Designer” .

    “The Microsoft Management Model Designer (MMD) is a tool for developing management models. Management models provide a way to represent all of the areas of manageability for applications and systems services”

    mmd

    and the Patterns and Practices group started working on designers [DSL’s] for DFO “Design for Operations: Designing Manageable Applications” on CodePlex.

    “patterns & practices project focused on developing tools and guidance to help enable the development of highly manageable applications on the Windows platform.”

    vsmmd

    The “vsmmd” model just looks like the application diagram from Team Architect and my first thoughts where… why not put that information / functionality in the AD. Put on second sight this is a great viewpoint, you have a single focus and can discuse operations in a much cleaner way when you have them in a spearated model, and the AD will get to complex.

    So, what would be the scenario when you also integrate health modeling in your design and development proces. See the red steps, I’ve added them to my excisting one

    Red 1: generate the “vsmmd” model from the application diagram and define:
    trust levels for the Application
    Instrumentation for the Application
    Health Definitions

    Red 2: Import the definitions in Microsoft Management Model Designer, these models can then be used by System Center / MOM Red 4

    Red 3: Generate together with the Service models our “operations ready” services.

    modeling

    This is just a fictive walkthrough, there is no source code available from the DFO designers. But it would be really nice and this will be a next step to implement / adopt the Dynamic Systems Imitative [DSI] and Application Lifecycle Management [ALM].

    With this it’s a small step to make Security models [viewpoints] for your applications, performance models… and all the other no-functional requirements.

    Anyway, still enough work to do but I like the idea’s
    More Viewpoint Models is More and Better Communication..!

    Posted: Oct 11 2007, 00:03 by Clemens | Comments (0) RSS comment feed |
    • Currently 0/5 Stars.
    • 1
    • 2
    • 3
    • 4
    • 5
    Filed under: