<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www.tmforum.org/community/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>Forum Developers Group</title><link>http://www.tmforum.org/community/groups/forum_developers_group/blog/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP1 (Debug Build: 31106.3070)</generator><item><title>Using SID Patterns</title><link>http://www.tmforum.org/community/groups/forum_developers_group/blog/archive/2010/07/15/using-sid-patterns.aspx</link><pubDate>Fri, 16 Jul 2010 02:35:54 GMT</pubDate><guid isPermaLink="false">8df77bd3-f108-475e-a106-78d9d76700a5:15595</guid><dc:creator>John Reilly</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.tmforum.org/community/groups/forum_developers_group/blog/rsscomments.aspx?PostID=15595</wfw:commentRss><comments>http://www.tmforum.org/community/groups/forum_developers_group/blog/archive/2010/07/15/using-sid-patterns.aspx#comments</comments><description>&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;Back from vacation and then off the next day to Bonn, Germany last week to conduct some SID training.  So I thought it would be good to switch from the eTOM to the SID in this edition of the blog, based on an my experience with some students that knew UML but were not practicing information modelers.&lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;But, before I get into the details of using SID patterns, I know I have a responsibility to chat a little about my culinary experience.  Being of part German descent on my father’s side, my grandmother’s maiden name was Huppman and she introduced me to many German delights, I was back in heaven.  There is nothing like some sauerbraten and potato dumplings to remind me of her!  And I was surprised to find quite a few Italian restaurants, so I had to finish my trip with gorgonzola gnocchi combined with an excellent German dark wheat beer.  And, rather than eating alone, which I typically do, I had some of my instructor pals with me, Andy (also known as Andrew or Drew… hmmm, seems like an identity crisis or something sinister) Chalmers, Josh Salomon, and Ivan Gramatikoff, which was an addition treat.&lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;During the SID Modeler’s workshop I was also in for a surprise that occurs often when the class is made up of students who do not practice information modeling as part of their day-to-day jobs.  So, I guess I shouldn’t be surprised.  But, not let me digress.&lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;The training started with SID Distilled, which includes explaining the patterns used to model a good part of the SID, along with the business requirements that the patterns satisfy.  The patterns are the Entity Specification / Entity, Composite/Atomic, Entity /Entity Role, Business Interaction, and Characteristic Specification / Characteristic Value.&lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;Armed with these, the students were provided a business scenario and, as a starting point to represent the requirements as an information model, were asked what patterns could be used.  They started by listing the information requirements and then checking off the possible patterns that could be used to model the requirements as shown below.&lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt; &lt;/p&gt;
&lt;p style="text-align:center;"&gt;&lt;a href="http://www.tmforum.org/community/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/tmforum_5F00_training/patterns-to-use.jpg"&gt;&lt;img width="550" height="640" alt="" style="border:0px solid;width:284px;height:425px;" src="http://www.tmforum.org/community/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/tmforum_5F00_training/patterns-to-use.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style="text-align:center;"&gt;Once these were agreed upon, which didn’t take much time, the next step was to construct the model as shown below, which was quite easy to do.&lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="text-align:center;"&gt;&lt;a href="http://www.tmforum.org/community/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/tmforum_5F00_training/patterns.jpg"&gt;&lt;img width="434" height="400" alt="" style="border:0px solid;" src="http://www.tmforum.org/community/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/tmforum_5F00_training/patterns.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;What does this say about using modeling patterns?  First, without patterns non-modelers would be faced with a real challenge on where to even start.  Even experienced modelers would come up with different representations of the requirements in the resultant model, if not given the patterns that can be used.  It’s about consistency.  Given guidelines, such as these, along with other SID modeling guidelines, the resultant model arrived at by different modelers will be quite similar.  What’s the benefit?  Arriving at similar models means that these extensions/additions to the SID developed by different software vendors can be easier to integrate.  Additionally, the extensions/additions easily adapt to new requirements.&lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;I’ll be off to the Baltimore Team Action Week next week and then off to do the London Training Road Show the following week.  But, hopefully, I’ll have some time away from the pub and bangers and mash to do a blog from there.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.tmforum.org/community/aggbug.aspx?PostID=15595" width="1" height="1"&gt;</description><category domain="http://www.tmforum.org/community/groups/forum_developers_group/tags/Standards/default.aspx">Standards</category><category domain="http://www.tmforum.org/community/groups/forum_developers_group/tags/TM+Forum/default.aspx">TM Forum</category><category domain="http://www.tmforum.org/community/groups/forum_developers_group/tags/SID/default.aspx">SID</category></item><item><title>Using the Business Process Framework (eTOM) as a Checklist</title><link>http://www.tmforum.org/community/groups/forum_developers_group/blog/archive/2010/06/21/using-the-business-process-framework-etom-as-a-checklist.aspx</link><pubDate>Tue, 22 Jun 2010 00:02:37 GMT</pubDate><guid isPermaLink="false">8df77bd3-f108-475e-a106-78d9d76700a5:14359</guid><dc:creator>John Reilly</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.tmforum.org/community/groups/forum_developers_group/blog/rsscomments.aspx?PostID=14359</wfw:commentRss><comments>http://www.tmforum.org/community/groups/forum_developers_group/blog/archive/2010/06/21/using-the-business-process-framework-etom-as-a-checklist.aspx#comments</comments><description>&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;&lt;span style="font-family:calibri;"&gt;I thought I would continue chatting about the eTOM in this edition of the blog, based on an experience I had this past week with a member.&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;&lt;span style="font-family:calibri;"&gt;But, before I get into the details of using the eTOM as a check list, I know I have a responsibility to chat a little about my culinary experience.  I spent last week in the Washington, DC area, home of some great seafood.  One of my weaknesses is a fondness for little neck clams.  So, I indulged and had a delightful meal of linguine adorned by about a dozen of these little bivalves.  Another weakness involves soft shell crabs, which are hard to find.  Of course, when I found crab two-ways on a restaurant’s menu, and one way was tempura battered soft shells, you know the rest!  No links to web sites this time, but you can perform a quick internet search to find these two. &lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;&lt;span style="font-family:calibri;"&gt;You probably know by now that I have a checklist of menu items as I play the role of vagabond around the world.  Well, I also carry the eTOM along with me, because you never know when it can be used as a checklist, too.  When training/consulting I often work with members who have process requirements associated with introducing new technologies and/or offerings.  Often current process models don’t completely provide support for these requirements.  This is where the eTOM can be used to support them.&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;&lt;span style="font-family:calibri;"&gt;I ran into a similar requirement last week.  In this case, the operator’s business model was changing somewhat.  The operator is taking over parts of, or entire processes, that are currently performed by a partner.  For example, the complete resolution of a customer’s problem could involve assessing the performance of the network.  The business people involved in the planned processes are not familiar with the eTOM and, due to project time timelines, there was no time to provide eTOM training to them.&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;&lt;span style="font-family:calibri;"&gt;The project team working with the business people wanted to make certain that the processes included all the necessary tasks.  In the example stated above, this would include all the tasks necessary to measure the performance of the network.  So, what the project team planned to do was use the eTOM Level 3 processes and their descriptions and/or draft Level 4 processes as a checklist.  As the business people explain their planned processes using their own non-eTOM terminology, the project team compares them to the eTOM.  The collective set of L3s that represent the decomposition of a L2, typically cover the full life cycle of some key business entity, such as resource (network) performance.  Thus, the comparison helps ensure all the eTOM-equivalent tasks are being performed.  If any tasks are missing the eTOM processes are used as “prompts” to begin discussions on the missing tasks.&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;&lt;span style="font-family:calibri;"&gt;The processes are represented by scenarios, for example, no dial tone, excessive dropped calls, no internet connectivity, and so forth.  These are very specialized and could be viewed as business use cases, because they achieve a defined business goal and are represented using swim lane diagrams.  To reduce the possibility of a large number of duplicated task level processes, the team mapped the scenarios to eTOM L2 processes.  This facilitated the development of, and comparison to, generalized processes that can be specialized as necessary to satisfy scenario-specific requirements.&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;&lt;span style="font-family:calibri;"&gt;One other aspect of the eTOM was considered.  The applicable Operations Support &amp;amp; Readiness processes are also used as a checklist to ensure that all the L3 tasks that support and enable the L2/L3 tasks are included as scenarios.&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;&lt;span style="font-family:calibri;"&gt;I’ll be off on vacation from 24&lt;sup&gt;th&lt;/sup&gt; Jun through 3&lt;sup&gt;rd&lt;/sup&gt; Jul, but will be back to work after that.  So, look for the next blog after I spend a week doing a TM Forum Training Road Show the week of 4&lt;sup&gt;th&lt;/sup&gt; Jul in Bonn Germany.&lt;/span&gt;&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.tmforum.org/community/aggbug.aspx?PostID=14359" width="1" height="1"&gt;</description><category domain="http://www.tmforum.org/community/groups/forum_developers_group/tags/Frameworx/default.aspx">Frameworx</category><category domain="http://www.tmforum.org/community/groups/forum_developers_group/tags/eTOM/default.aspx">eTOM</category><category domain="http://www.tmforum.org/community/groups/forum_developers_group/tags/Checklist/default.aspx">Checklist</category></item><item><title>The Quest for the Lowest Level Process</title><link>http://www.tmforum.org/community/groups/forum_developers_group/blog/archive/2010/06/16/the-quest-for-the-lowest-level-process.aspx</link><pubDate>Wed, 16 Jun 2010 12:46:04 GMT</pubDate><guid isPermaLink="false">8df77bd3-f108-475e-a106-78d9d76700a5:14206</guid><dc:creator>John Reilly</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.tmforum.org/community/groups/forum_developers_group/blog/rsscomments.aspx?PostID=14206</wfw:commentRss><comments>http://www.tmforum.org/community/groups/forum_developers_group/blog/archive/2010/06/16/the-quest-for-the-lowest-level-process.aspx#comments</comments><description>&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;&lt;span style="font-family:calibri;"&gt;My last two blogs focused on implementing the SID.  For a change of pace (and subject), this blog will look at implementing the eTOM.&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;&lt;span style="font-family:calibri;"&gt;Was back in China this past week, working hard and sampling some more culinary delights.  One delight that is hard to find in Shenzhen, where I was, but is found pretty easily in Nanjing is egg dumplings.  The wrapper for these delicious morsels is made of egg, rather than the traditional dough wrapper.  They are often served in a broth or hot pot together with Chinese vegetables.  Tasty.  And for those of you looking to try your hand at making these, here is a link….&lt;/span&gt; &lt;a href="http://www.redcook.net/2009/02/08/egg-dumplings/"&gt;&lt;span style="line-height:115%;font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;"&gt;www.redcook.net/2009/02/08/egg-dumplings/&lt;/span&gt;&lt;/a&gt;&lt;span style="line-height:115%;font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;"&gt;. &lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;&lt;span style="font-family:calibri;"&gt;Part of the delight of eating dumplings of any kind is finding out what’s inside.  This also applies to decomposing processes, which, besides eating, I was also doing while in China last week.  You don’t know if the process decomposes further until you “look inside it” by decomposing it further.  That’s one good guideline to follow in the quest for the lowest level process – you never know if the lowest level has been reached, unless you keep decomposing until it appears you have gone too far!  You can always roll back the decomposition back to the previous level.&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;&lt;span style="font-family:calibri;"&gt;Now, I could start a war by providing a suggested set of properties for a lowest level process, often call an elementary process.  And I have participated in some of these wars in my past lives!  So, what I propose here are some guidelines that indicate decomposition of a process has not YET reach the lowest level.  Which means if a process exhibits any of these properties, its decomposition should continue.&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;&lt;span style="font-family:calibri;"&gt;Please know that this is not an exhaustive list either.  Just some I have found useful.  They can be applied for anyone implementing the eTOM and extending it to levels lower than currently contained within this component of Frameworx.&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 0pt 0.5in;"&gt;&lt;span style="font-family:symbol;"&gt;·&lt;span style="font:7pt &amp;#39;times new roman&amp;#39;;"&gt;         &lt;/span&gt;&lt;span style="font-family:calibri;"&gt;If Semantic Analysis, which involves analyzing a process’ description looking for verbs/nouns or phrases which imply some action on an entity, association, and/or attribute, can still be applied to the process description.  This means that there are implied sub-processes into which the process can decompose.&lt;/span&gt;
&lt;p style="text-align:justify;margin:0in 0in 0pt 0.5in;"&gt;&lt;span style="font-family:symbol;"&gt;·&lt;span style="font:7pt &amp;#39;times new roman&amp;#39;;"&gt;         &lt;/span&gt;&lt;span style="font-family:calibri;"&gt;Acts on (creates/updates) multiple states of the same entity, which implies a separate sub-processes for each state&lt;/span&gt;
&lt;p style="text-align:justify;margin:0in 0in 0pt 0.5in;"&gt;&lt;span style="font-family:symbol;"&gt;·&lt;span style="font:7pt &amp;#39;times new roman&amp;#39;;"&gt;         &lt;/span&gt;&lt;span style="font-family:calibri;"&gt;Acts (creates/deletes and sometimes updates) on multiple ABEs (a group of closely related entities), which implies separate sub-processes for each ABE, particularly for creates/deletes.&lt;/span&gt;
&lt;p style="text-align:justify;margin:0in 0in 0pt 0.5in;"&gt;&lt;span style="font-family:symbol;"&gt;·&lt;span style="font:7pt &amp;#39;times new roman&amp;#39;;"&gt;         &lt;/span&gt;&lt;span style="font-family:calibri;"&gt;Carried out by multiple individuals, roles, organizations, which implies separate sub-processes, often associated with each individual, role, and/or organization.&lt;/span&gt;
&lt;p style="text-align:justify;margin:0in 0in 10pt 0.5in;"&gt;&lt;span style="font-family:symbol;"&gt;·&lt;span style="font:7pt &amp;#39;times new roman&amp;#39;;"&gt;         &lt;/span&gt;&lt;span style="font-family:calibri;"&gt;Carried out at multiple locations and/or at different times, which implies separate sub-processes for each location and/or time.  Note that particularly the time separation implies that that once the process begins, its execution cannot be stopped and then continued at another point in time.&lt;/span&gt;
&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;&lt;span style="font-family:calibri;"&gt;These guidelines can be applied in any combination.&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;&lt;span style="font-family:calibri;"&gt;If you have any guideline you would like to share with others, it would be great to hear about them.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 10pt;"&gt;&lt;span style="font-family:calibri;"&gt;You may also be interested in the Level 4 work that is being published as part of a guide book (GB942MAP) that describes and explains the use of mappings between Frameworx c omponents.  It includes Level 4 processes that have been developed by the eTOM/SID mapping team in the Fulfillment and Assurance verticals of the eTOM.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 10pt;"&gt;&lt;span style="font-family:calibri;"&gt;This guide book in draft form can be found at… &lt;/span&gt;&lt;a href="http://www.tmforum.org/DocumentLibrary/GB942MAPSolutionFrameworks/40793/article.html"&gt;&lt;span style="font-family:calibri;"&gt;http://www.tmforum.org/DocumentLibrary/GB942MAPSolutionFrameworks/40793/article.html&lt;/span&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p style="margin:0in 0in 10pt;"&gt;&lt;span style="font-family:calibri;"&gt;Work has also been done in the Billing and Revenue Management vertical process grouping.  This work can be found at… &lt;/span&gt;&lt;a href="http://www.tmforum.org/Community/groups/the_business_process_framework/downloads.aspx?id=artf1937"&gt;&lt;span style="font-family:calibri;"&gt;http://www.tmforum.org/Community/groups/the_business_process_framework/downloads.aspx?id=artf1937&lt;/span&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;&lt;span style="font-family:calibri;"&gt;I’ll be off traveling in the United States the week of 13&lt;sup&gt;th&lt;/sup&gt; June 2010, so look for the next blog when I return.&lt;/span&gt;&lt;/p&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.tmforum.org/community/aggbug.aspx?PostID=14206" width="1" height="1"&gt;</description></item><item><title>Open Source Interface Framework Workshop at TAW Baltimore, on Friday July 23rd </title><link>http://www.tmforum.org/community/groups/forum_developers_group/blog/archive/2010/05/31/open-source-interface-framework-workshop-at-taw-baltimore-on-friday-july-23rd.aspx</link><pubDate>Mon, 31 May 2010 09:57:11 GMT</pubDate><guid isPermaLink="false">8df77bd3-f108-475e-a106-78d9d76700a5:13678</guid><dc:creator>Joann O'Brien</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.tmforum.org/community/groups/forum_developers_group/blog/rsscomments.aspx?PostID=13678</wfw:commentRss><comments>http://www.tmforum.org/community/groups/forum_developers_group/blog/archive/2010/05/31/open-source-interface-framework-workshop-at-taw-baltimore-on-friday-july-23rd.aspx#comments</comments><description>&lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:calibri;"&gt;Note we have just recently communicated that the Open Source Interface Framework team will be running a workshop at TAW Baltimore, on Friday July 23rd.  This will be an interactive session.  Course details are listed below.  As places are limited, please contact me asap, if you wish to reserve a place.  &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:calibri;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:calibri;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:12pt;"&gt;Joint Open Source Interface Framework (JOSIF) Course Outline&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;table style="border:medium none;border-collapse:collapse;" class="LightGrid-Accent11" border="1" cellspacing="0" cellpadding="0"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style="border:#4f81bd 2.25pt solid;border-bottom:#4f81bd 2.25pt solid;border-left:#4f81bd 1pt solid;padding-bottom:0cm;background-color:transparent;padding-left:5.4pt;width:108.9pt;padding-right:5.4pt;border-top:#4f81bd 1pt solid;border-right:#4f81bd 1pt solid;padding-top:0cm;" valign="top"&gt;
            &lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:8pt;"&gt;Session&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="border-bottom:#4f81bd 2.25pt solid;padding-bottom:0cm;background-color:transparent;padding-left:5.4pt;width:229.5pt;padding-right:5.4pt;border-left-color:#f0f0f0;border-top:#4f81bd 1pt solid;border-right:#4f81bd 1pt solid;padding-top:0cm;" valign="top"&gt;
            &lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:8pt;"&gt;Description&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="border-bottom:#4f81bd 2.25pt solid;padding-bottom:0cm;background-color:transparent;padding-left:5.4pt;width:63pt;padding-right:5.4pt;border-left-color:#f0f0f0;border-top:#4f81bd 1pt solid;border-right:#4f81bd 1pt solid;padding-top:0cm;" valign="top"&gt;
            &lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:8pt;"&gt;Time&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="border-bottom:#4f81bd 2.25pt solid;padding-bottom:0cm;background-color:transparent;padding-left:5.4pt;width:77.4pt;padding-right:5.4pt;border-left-color:#f0f0f0;border-top:#4f81bd 1pt solid;border-right:#4f81bd 1pt solid;padding-top:0cm;" valign="top"&gt;
            &lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:8pt;"&gt;Instructor&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="border-bottom:#4f81bd 1pt solid;border-left:#4f81bd 1pt solid;padding-bottom:0cm;border-top-color:#f0f0f0;padding-left:5.4pt;width:108.9pt;padding-right:5.4pt;background:#d3dfee;border-right:#4f81bd 1pt solid;padding-top:0cm;" valign="top"&gt;
            &lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:8pt;"&gt;General steps in creating a management interface&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="border-bottom:#4f81bd 1pt solid;padding-bottom:0cm;border-top-color:#f0f0f0;padding-left:5.4pt;width:229.5pt;padding-right:5.4pt;background:#d3dfee;border-left-color:#f0f0f0;border-right:#4f81bd 1pt solid;padding-top:0cm;" valign="top"&gt;
            &lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:8pt;"&gt;General overview of the steps in creating a TM Forum compliant management interface. Starting from requirements and ending with a reference implementation and test kit. &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="border-bottom:#4f81bd 1pt solid;padding-bottom:0cm;border-top-color:#f0f0f0;padding-left:5.4pt;width:63pt;padding-right:5.4pt;background:#d3dfee;border-left-color:#f0f0f0;border-right:#4f81bd 1pt solid;padding-top:0cm;" valign="top"&gt;
            &lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:8pt;"&gt;8:30 – 9:00&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="border-bottom:#4f81bd 1pt solid;padding-bottom:0cm;border-top-color:#f0f0f0;padding-left:5.4pt;width:77.4pt;padding-right:5.4pt;background:#d3dfee;border-left-color:#f0f0f0;border-right:#4f81bd 1pt solid;padding-top:0cm;" valign="top"&gt;
            &lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:8pt;"&gt;Stephen Fratini&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="border-bottom:#4f81bd 1pt solid;border-left:#4f81bd 1pt solid;padding-bottom:0cm;background-color:transparent;border-top-color:#f0f0f0;padding-left:5.4pt;width:108.9pt;padding-right:5.4pt;border-right:#4f81bd 1pt solid;padding-top:0cm;" valign="top"&gt;
            &lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:8pt;"&gt;General overview of JOSIF&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="border-bottom:#4f81bd 1pt solid;padding-bottom:0cm;background-color:transparent;border-top-color:#f0f0f0;padding-left:5.4pt;width:229.5pt;padding-right:5.4pt;border-left-color:#f0f0f0;border-right:#4f81bd 1pt solid;padding-top:0cm;" valign="top"&gt;
            &lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:8pt;"&gt;Purpose of work&lt;/span&gt;&lt;/p&gt;
            &lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:8pt;"&gt;Features in present release and plans for future releases&lt;/span&gt;&lt;/p&gt;
            &lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:8pt;"&gt;Interface patterns&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="border-bottom:#4f81bd 1pt solid;padding-bottom:0cm;background-color:transparent;border-top-color:#f0f0f0;padding-left:5.4pt;width:63pt;padding-right:5.4pt;border-left-color:#f0f0f0;border-right:#4f81bd 1pt solid;padding-top:0cm;" valign="top"&gt;
            &lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:8pt;"&gt;9:00 – 9:30&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="border-bottom:#4f81bd 1pt solid;padding-bottom:0cm;background-color:transparent;border-top-color:#f0f0f0;padding-left:5.4pt;width:77.4pt;padding-right:5.4pt;border-left-color:#f0f0f0;border-right:#4f81bd 1pt solid;padding-top:0cm;" valign="top"&gt;
            &lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:8pt;"&gt;Stephen Fratini&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="border-bottom:#4f81bd 1pt solid;border-left:#4f81bd 1pt solid;padding-bottom:0cm;border-top-color:#f0f0f0;padding-left:5.4pt;width:108.9pt;padding-right:5.4pt;background:#d3dfee;border-right:#4f81bd 1pt solid;padding-top:0cm;" valign="top"&gt;
            &lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:8pt;"&gt;Information modeling aspects&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="border-bottom:#4f81bd 1pt solid;padding-bottom:0cm;border-top-color:#f0f0f0;padding-left:5.4pt;width:229.5pt;padding-right:5.4pt;background:#d3dfee;border-left-color:#f0f0f0;border-right:#4f81bd 1pt solid;padding-top:0cm;" valign="top"&gt;
            &lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:8pt;"&gt;Modeling in SID (structure, rules), how to create a SID project for the interface (in RSM) and then how to move it to Tigerstripe along with how to decorate the model in tigerstripe.   &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="border-bottom:#4f81bd 1pt solid;padding-bottom:0cm;border-top-color:#f0f0f0;padding-left:5.4pt;width:63pt;padding-right:5.4pt;background:#d3dfee;border-left-color:#f0f0f0;border-right:#4f81bd 1pt solid;padding-top:0cm;" valign="top"&gt;
            &lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:8pt;"&gt;9:30 – 10:30&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="border-bottom:#4f81bd 1pt solid;padding-bottom:0cm;border-top-color:#f0f0f0;padding-left:5.4pt;width:77.4pt;padding-right:5.4pt;background:#d3dfee;border-left-color:#f0f0f0;border-right:#4f81bd 1pt solid;padding-top:0cm;" valign="top"&gt;
            &lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:8pt;"&gt;Marc Flauw&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="border-bottom:#4f81bd 1pt solid;border-left:#4f81bd 1pt solid;padding-bottom:0cm;background-color:transparent;border-top-color:#f0f0f0;padding-left:5.4pt;width:108.9pt;padding-right:5.4pt;border-right:#4f81bd 1pt solid;padding-top:0cm;" valign="top"&gt;
            &lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:8pt;"&gt;Morning break&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="border-bottom:#4f81bd 1pt solid;padding-bottom:0cm;background-color:transparent;border-top-color:#f0f0f0;padding-left:5.4pt;width:229.5pt;padding-right:5.4pt;border-left-color:#f0f0f0;border-right:#4f81bd 1pt solid;padding-top:0cm;" valign="top"&gt;
            &lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:8pt;"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="border-bottom:#4f81bd 1pt solid;padding-bottom:0cm;background-color:transparent;border-top-color:#f0f0f0;padding-left:5.4pt;width:63pt;padding-right:5.4pt;border-left-color:#f0f0f0;border-right:#4f81bd 1pt solid;padding-top:0cm;" valign="top"&gt;
            &lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:8pt;"&gt;10:30 – 11:00&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="border-bottom:#4f81bd 1pt solid;padding-bottom:0cm;background-color:transparent;border-top-color:#f0f0f0;padding-left:5.4pt;width:77.4pt;padding-right:5.4pt;border-left-color:#f0f0f0;border-right:#4f81bd 1pt solid;padding-top:0cm;" valign="top"&gt;
            &lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:8pt;"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="border-bottom:#4f81bd 1pt solid;border-left:#4f81bd 1pt solid;padding-bottom:0cm;border-top-color:#f0f0f0;padding-left:5.4pt;width:108.9pt;padding-right:5.4pt;background:#d3dfee;border-right:#4f81bd 1pt solid;padding-top:0cm;" valign="top"&gt;
            &lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:8pt;"&gt;Installation of JOSIF components&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="border-bottom:#4f81bd 1pt solid;padding-bottom:0cm;border-top-color:#f0f0f0;padding-left:5.4pt;width:229.5pt;padding-right:5.4pt;background:#d3dfee;border-left-color:#f0f0f0;border-right:#4f81bd 1pt solid;padding-top:0cm;" valign="top"&gt;
            &lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:8pt;"&gt;Description and hands-on instruction concerning installation of Maven, Eclipse and Tigerstripe workshop, TIP generators, TIP Profile and TIP Common Model. &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="border-bottom:#4f81bd 1pt solid;padding-bottom:0cm;border-top-color:#f0f0f0;padding-left:5.4pt;width:63pt;padding-right:5.4pt;background:#d3dfee;border-left-color:#f0f0f0;border-right:#4f81bd 1pt solid;padding-top:0cm;" valign="top"&gt;
            &lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:8pt;"&gt;11:00 – 12:30&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="border-bottom:#4f81bd 1pt solid;padding-bottom:0cm;border-top-color:#f0f0f0;padding-left:5.4pt;width:77.4pt;padding-right:5.4pt;background:#d3dfee;border-left-color:#f0f0f0;border-right:#4f81bd 1pt solid;padding-top:0cm;" valign="top"&gt;
            &lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:8pt;"&gt;Craig Gallen&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="border-bottom:#4f81bd 1pt solid;border-left:#4f81bd 1pt solid;padding-bottom:0cm;background-color:transparent;border-top-color:#f0f0f0;padding-left:5.4pt;width:108.9pt;padding-right:5.4pt;border-right:#4f81bd 1pt solid;padding-top:0cm;" valign="top"&gt;
            &lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:8pt;"&gt;Lunch&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="border-bottom:#4f81bd 1pt solid;padding-bottom:0cm;background-color:transparent;border-top-color:#f0f0f0;padding-left:5.4pt;width:229.5pt;padding-right:5.4pt;border-left-color:#f0f0f0;border-right:#4f81bd 1pt solid;padding-top:0cm;" valign="top"&gt;
            &lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:8pt;"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="border-bottom:#4f81bd 1pt solid;padding-bottom:0cm;background-color:transparent;border-top-color:#f0f0f0;padding-left:5.4pt;width:63pt;padding-right:5.4pt;border-left-color:#f0f0f0;border-right:#4f81bd 1pt solid;padding-top:0cm;" valign="top"&gt;
            &lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:8pt;"&gt;12:30 – 13:30&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="border-bottom:#4f81bd 1pt solid;padding-bottom:0cm;background-color:transparent;border-top-color:#f0f0f0;padding-left:5.4pt;width:77.4pt;padding-right:5.4pt;border-left-color:#f0f0f0;border-right:#4f81bd 1pt solid;padding-top:0cm;" valign="top"&gt;
            &lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:8pt;"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="border-bottom:#4f81bd 1pt solid;border-left:#4f81bd 1pt solid;padding-bottom:0cm;border-top-color:#f0f0f0;padding-left:5.4pt;width:108.9pt;padding-right:5.4pt;background:#d3dfee;border-right:#4f81bd 1pt solid;padding-top:0cm;" valign="top"&gt;
            &lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:8pt;"&gt;Build environment&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="border-bottom:#4f81bd 1pt solid;padding-bottom:0cm;border-top-color:#f0f0f0;padding-left:5.4pt;width:229.5pt;padding-right:5.4pt;background:#d3dfee;border-left-color:#f0f0f0;border-right:#4f81bd 1pt solid;padding-top:0cm;" valign="top"&gt;
            &lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:8pt;"&gt;Description and demo of build environment&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="border-bottom:#4f81bd 1pt solid;padding-bottom:0cm;border-top-color:#f0f0f0;padding-left:5.4pt;width:63pt;padding-right:5.4pt;background:#d3dfee;border-left-color:#f0f0f0;border-right:#4f81bd 1pt solid;padding-top:0cm;" valign="top"&gt;
            &lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:8pt;"&gt;13:30 – 14:15&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="border-bottom:#4f81bd 1pt solid;padding-bottom:0cm;border-top-color:#f0f0f0;padding-left:5.4pt;width:77.4pt;padding-right:5.4pt;background:#d3dfee;border-left-color:#f0f0f0;border-right:#4f81bd 1pt solid;padding-top:0cm;" valign="top"&gt;
            &lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:8pt;"&gt;Craig Gallen&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="border-bottom:#4f81bd 1pt solid;border-left:#4f81bd 1pt solid;padding-bottom:0cm;background-color:transparent;border-top-color:#f0f0f0;padding-left:5.4pt;width:108.9pt;padding-right:5.4pt;border-right:#4f81bd 1pt solid;padding-top:0cm;" valign="top"&gt;
            &lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:8pt;"&gt;Procedures for Building Interfaces&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="border-bottom:#4f81bd 1pt solid;padding-bottom:0cm;background-color:transparent;border-top-color:#f0f0f0;padding-left:5.4pt;width:229.5pt;padding-right:5.4pt;border-left-color:#f0f0f0;border-right:#4f81bd 1pt solid;padding-top:0cm;" valign="top"&gt;
            &lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:8pt;"&gt;Description of procedures for building a new interface, including the information model, interface, Reference Implementation (RI), Compliance Test Kit (CTK) and documentation.  Demonstration of the generation of a web services interface from a TIP model, Java Interface from a TIP model, documentation, partial RI for Web Services, partial RI for EJB and JPA and partial Compliance Test Kit (CTK)&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="border-bottom:#4f81bd 1pt solid;padding-bottom:0cm;background-color:transparent;border-top-color:#f0f0f0;padding-left:5.4pt;width:63pt;padding-right:5.4pt;border-left-color:#f0f0f0;border-right:#4f81bd 1pt solid;padding-top:0cm;" valign="top"&gt;
            &lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:8pt;"&gt;14:15 – 15:00&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="border-bottom:#4f81bd 1pt solid;padding-bottom:0cm;background-color:transparent;border-top-color:#f0f0f0;padding-left:5.4pt;width:77.4pt;padding-right:5.4pt;border-left-color:#f0f0f0;border-right:#4f81bd 1pt solid;padding-top:0cm;" valign="top"&gt;
            &lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:8pt;"&gt;Craig Gallen&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="height:19.4pt;"&gt;
            &lt;td style="border-bottom:#4f81bd 1pt solid;border-left:#4f81bd 1pt solid;padding-bottom:0cm;border-top-color:#f0f0f0;padding-left:5.4pt;width:478.8pt;padding-right:5.4pt;background:#d3dfee;height:19.4pt;border-right:#4f81bd 1pt solid;padding-top:0cm;" valign="top" colspan="4"&gt;
            &lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:8pt;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:calibri;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:calibri;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:calibri;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.tmforum.org/community/aggbug.aspx?PostID=13678" width="1" height="1"&gt;</description><category domain="http://www.tmforum.org/community/groups/forum_developers_group/tags/Open+Source+Interface+Framework+Baltimore/default.aspx">Open Source Interface Framework Baltimore</category></item><item><title>Model, Database, API Conformance to the SID</title><link>http://www.tmforum.org/community/groups/forum_developers_group/blog/archive/2010/05/24/model-database-api-conformance-to-the-sid.aspx</link><pubDate>Mon, 24 May 2010 14:21:09 GMT</pubDate><guid isPermaLink="false">8df77bd3-f108-475e-a106-78d9d76700a5:13419</guid><dc:creator>John Reilly</dc:creator><slash:comments>16</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.tmforum.org/community/groups/forum_developers_group/blog/rsscomments.aspx?PostID=13419</wfw:commentRss><comments>http://www.tmforum.org/community/groups/forum_developers_group/blog/archive/2010/05/24/model-database-api-conformance-to-the-sid.aspx#comments</comments><description>&lt;p&gt;Back from the hugely successful Nice Management World conference, sitting here thinking about Pizza Coco.  It is where, over my last eleven conferences, I experienced some of the best thin-thin crust pizza that has ever made its way into my mouth!  Two ingredients, often missing from pizzas I have had, are a good dose of oregano and an egg broken into the middle of the pizza just before it is taken from the oven.  Pizza Coco doesn’t forget these, egg on demand, however.&lt;/p&gt;&lt;p&gt;Before getting into the main topic of this promised second blog that continues the saga of implementing the SID (here’s the link to the first blog on this subject… &lt;a href="http://www.tmforum.org/community/blogs/tmforum_training/archive/2010/05/10/sid-and-database-design.aspx"&gt;http://www.tmforum.org/community/blogs/tmforum_training/archive/2010/05/10/sid-and-database-design.aspx&lt;/a&gt;), I forgot an ingredient in the last blog.  It can be essential to a successful implementation of “Characteristics”.  Specifically, it’s about the CharacteristicValue entity.  This entity only has two attributes, value and validFor (from and to effective dates).  Conceptually, the value attribute is only populated when a value is entered for the Characteristic that does not have enumerated values specified.  For example, a userId associated with an email account.  From an implementation perspective, queries are often made on CharacteristicValues.  For performance and simplicity reasons, de-normalizing key attributes from CharacteristicSpecification entities should be considered.  Typical candidates for de-normalization are name, value (from enumerations in CharacteristicSpecValue), and unitofMeasure.  This enables queries to be made on the name attribute and eliminate the need to navigate to CharacteristicSpecification implementation of the SID.&lt;/p&gt;&lt;p&gt;Now, on to helping ensure conformance to the SID, which applies no matter which of the design choices discussed in my last blog are chosen.  Conformance is about equivalence to SID entities and attributes.  You can find out more details about this topic at the TM Forum web page…&lt;a href="http://www.tmforum.org/ConformanceCertification/7450/home.html"&gt;http://www.tmforum.org/ConformanceCertification/7450/home.html&lt;/a&gt;.  Note that the formal certification process deals with APIs, not models or databases.&lt;/p&gt;&lt;p&gt;But, the key word is “equivalence”, whether conformance of a model, database, or APIs is being measured.  While it is good to use SID entity and attributes names, this is not always practical or possible.  For example, suppose the BusinessInteraction entity is collapsed into the CustomerOrder entity.  The interactionDate is now an attribute of CustomerOrder.  However, it can be shown to be equivalent to the interactionDate attribute of BusinessInteraction, from which it originated.  Take the example further, by changing the name of interactionDate to customerOrderDate.  This newly named attribute is still the equivalent of interactionDate, maintaining conformance to the SID.&lt;/p&gt;&lt;p&gt;So, maintaining conformance does not a have to be a complex process.  Remember, though, that it is good to publish a mapping from an implementation perspective back to the SID, particularly for APIs used to integrate applications.&lt;/p&gt;&lt;p&gt;I’ll off on my world travels again the week of May 30&lt;sup&gt;th&lt;/sup&gt;, so look for the next blog when I return.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.tmforum.org/community/aggbug.aspx?PostID=13419" width="1" height="1"&gt;</description><category domain="http://www.tmforum.org/community/groups/forum_developers_group/tags/Interfaces/default.aspx">Interfaces</category><category domain="http://www.tmforum.org/community/groups/forum_developers_group/tags/Frameworx/default.aspx">Frameworx</category><category domain="http://www.tmforum.org/community/groups/forum_developers_group/tags/SID/default.aspx">SID</category><category domain="http://www.tmforum.org/community/groups/forum_developers_group/tags/database/default.aspx">database</category></item><item><title>SID and Database Design</title><link>http://www.tmforum.org/community/groups/forum_developers_group/blog/archive/2010/05/10/sid-and-database-design.aspx</link><pubDate>Mon, 10 May 2010 17:05:22 GMT</pubDate><guid isPermaLink="false">8df77bd3-f108-475e-a106-78d9d76700a5:12943</guid><dc:creator>John Reilly</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.tmforum.org/community/groups/forum_developers_group/blog/rsscomments.aspx?PostID=12943</wfw:commentRss><comments>http://www.tmforum.org/community/groups/forum_developers_group/blog/archive/2010/05/10/sid-and-database-design.aspx#comments</comments><description>&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;&lt;span style="font-family:calibri;"&gt;Was back in the US again this past week teaching near Denver.  Celebrated Cinco de Mayo at a great little Mexican restaurant in Lakewood, Colorado, where I enjoyed Puerco Adobado, marinated pork in spices.  Here’re the links to the restaurant and a recipe in case you want to try a true taste of Mexico…&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;&lt;a href="http://tapatiomexican.com/index.html"&gt;&lt;span style="font-family:calibri;"&gt;http://tapatiomexican.com/index.html&lt;/span&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;&lt;a href="http://www.astray.com/recipes/?show=Chuletas%20de%20puerco%20adobados"&gt;&lt;span style="font-family:calibri;"&gt;http://www.astray.com/recipes/?show=Chuletas%20de%20puerco%20adobados&lt;/span&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;&lt;span style="font-family:calibri;"&gt;The recipe calls for pounding the port flat, which is something to consider when implementing the SID from a database perspective.  As a technology-neutral information model, the “I” component of the SID has never been intended to be implemented as-is.   Parts of the SID include multi-level class hierarchies that are not necessarily suitable for one-to-one SID entity to database table implementation.  There are three options (at least) that are open to database designers.  From a visual perspective, you can think of collapsing a hierarchy:&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 0pt 0.5in;"&gt;&lt;span&gt;&lt;span style="font-family:calibri;"&gt;1.&lt;/span&gt;&lt;span style="font:7pt &amp;#39;times new roman&amp;#39;;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:calibri;"&gt;From the top down – collapsing all super-classes into the lowest level classes&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 0pt 0.5in;"&gt;&lt;span&gt;&lt;span style="font-family:calibri;"&gt;2.&lt;/span&gt;&lt;span style="font:7pt &amp;#39;times new roman&amp;#39;;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:calibri;"&gt;From the bottom up – collapsing all sub-classes into the highest level super-class&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 10pt 0.5in;"&gt;&lt;span&gt;&lt;span style="font-family:calibri;"&gt;3.&lt;/span&gt;&lt;span style="font:7pt &amp;#39;times new roman&amp;#39;;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:calibri;"&gt;From the top and bottom to some intermediate class – hopefully the visual is apparent.&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;&lt;span style="font-family:calibri;"&gt;There are considerations that should be taken into account for each option, some of which are included here.  There are certainly others.  Option one results in duplication of attributes; therefore, if the properties of the attribute change, care must be taken to ensure they are change across all the tables.  Option 2 results in many attributes and associations that were “required” in a subclass to become “optional” in the super-class.  The conditions under which the attributes and associations are still required must be carefully documented.  Considerations associated with the third option include those of both option 1 and 2.&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;&lt;span style="font-family:calibri;"&gt;The SID is a non-redundant decomposition of information, meaning that many entities, such as Individual Name and Location, are only modeled once.  This ensures consistency of how these entities are represented in the model.  This does not mean they have to be implemented this way.  For example, it is not required to implement a single set of database tables that contains address information.  It is certainly acceptable to include address information as part of a Customer database or a Resource Inventory database.&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;&lt;span style="font-family:calibri;"&gt;As a final, but certainly not the last consideration is how to implement the “Characteristics” included in the SID.  First, the specification part of the model should be cached in some way to ensure acceptable performance.  And, although Characteristics are duplicated across a number of domains (this practice will no longer be continued in the SID), a single set of shareable tables can certainly be implemented.  The Characteristic model that is contained in the Root Business Entity ABE in the Common Business Entity domain can be used as a “template” for this.  If there is a concern about performance, an implementation could include a set of tables for each domain, shareable by entities where Characteristics are used by entities within a domain. &lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;&lt;span style="font-family:calibri;"&gt;I’ll be off to Management World Nice next week, hopefully, I’ll have time to blog from there!  The topic most likely will be a follow up on this one that talks about how implementation changes introduced in database design and API design can conform to the SID&lt;/span&gt;&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.tmforum.org/community/aggbug.aspx?PostID=12943" width="1" height="1"&gt;</description><category domain="http://www.tmforum.org/community/groups/forum_developers_group/tags/Frameworx/default.aspx">Frameworx</category><category domain="http://www.tmforum.org/community/groups/forum_developers_group/tags/SID/default.aspx">SID</category><category domain="http://www.tmforum.org/community/groups/forum_developers_group/tags/data/default.aspx">data</category><category domain="http://www.tmforum.org/community/groups/forum_developers_group/tags/database/default.aspx">database</category></item><item><title>Programming the Entity Key</title><link>http://www.tmforum.org/community/groups/forum_developers_group/blog/archive/2010/04/18/programming-the-entity-key.aspx</link><pubDate>Mon, 19 Apr 2010 00:57:54 GMT</pubDate><guid isPermaLink="false">8df77bd3-f108-475e-a106-78d9d76700a5:12145</guid><dc:creator>Pierre Gauthier</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.tmforum.org/community/groups/forum_developers_group/blog/rsscomments.aspx?PostID=12145</wfw:commentRss><comments>http://www.tmforum.org/community/groups/forum_developers_group/blog/archive/2010/04/18/programming-the-entity-key.aspx#comments</comments><description>&lt;div&gt;This week I will show you how to use and program the Entity primary key.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The Inventory API uses a polymorphic primary key to address the issue of having multiple vendor entity identification mechanisms. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Our primary key is named InfoModelEntityPrimaryKey and is defined in the Entities.xsd as:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;lt;schema xmlns:inv=&amp;quot;http://osswave.com/xml/inv/v1-5&amp;quot; xmlns=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;/div&gt;&lt;div&gt;            xmlns:cberes=&amp;quot;http://ossj.org/xml/Common-CBEResource/v1-5&amp;quot;&lt;/div&gt;&lt;div&gt;            xmlns:cbecore=&amp;quot;http://ossj.org/xml/Common-CBECore/v1-5&amp;quot;&lt;/div&gt;&lt;div&gt;            targetNamespace=&amp;quot;http://osswave.com/xml/inv/v1-5&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot;&lt;/div&gt;&lt;div&gt;            attributeFormDefault=&amp;quot;unqualified&amp;quot;&amp;gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;            &amp;lt;import namespace=&amp;quot;http://ossj.org/xml/Common-CBEResource/v1-5&amp;quot;&lt;/div&gt;&lt;div&gt;                        schemaLocation=&amp;quot;http://ossj.org/xml/Common-CBEResource/v1-5/OSSJ-Common-CBEResource-v1-5.xsd&amp;quot;/&amp;gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;            &amp;lt;complexType name=&amp;quot;Equipment&amp;quot;&amp;gt;&lt;/div&gt;&lt;div&gt;                        &amp;lt;complexContent&amp;gt;&lt;/div&gt;&lt;div&gt;                                    &amp;lt;extension base=&amp;quot;cberes:ResourceValue&amp;quot;&amp;gt;&lt;/div&gt;&lt;div&gt;                                                &amp;lt;sequence&amp;gt;&lt;/div&gt;&lt;div&gt;                                                            &amp;lt;element name=&amp;quot;equipmentType&amp;quot; type=&amp;quot;string&amp;quot; minOccurs=&amp;quot;0&amp;quot;/&amp;gt;&lt;/div&gt;&lt;div&gt;                                                            &amp;lt;element name=&amp;quot;numberOnHand&amp;quot; type=&amp;quot;int&amp;quot; minOccurs=&amp;quot;0&amp;quot;/&amp;gt;&lt;/div&gt;&lt;div&gt;                                                            &amp;lt;element name=&amp;quot;location&amp;quot; type=&amp;quot;string&amp;quot; minOccurs=&amp;quot;0&amp;quot;/&amp;gt;&lt;/div&gt;&lt;div&gt;                                                &amp;lt;/sequence&amp;gt;&lt;/div&gt;&lt;div&gt;                                    &amp;lt;/extension&amp;gt;&lt;/div&gt;&lt;div&gt;                        &amp;lt;/complexContent&amp;gt;&lt;/div&gt;&lt;div&gt;            &amp;lt;/complexType&amp;gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;   ...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;           &lt;strong&gt; &amp;lt;complexType name=&amp;quot;InfoModelEntityPrimaryKey&amp;quot;&amp;gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;                        &amp;lt;sequence&amp;gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;                                    &amp;lt;element name=&amp;quot;primaryKey&amp;quot; type=&amp;quot;string&amp;quot; minOccurs=&amp;quot;0&amp;quot;/&amp;gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;                        &amp;lt;/sequence&amp;gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;            &amp;lt;/complexType&amp;gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;            &amp;lt;element name=&amp;quot;equipment&amp;quot; type=&amp;quot;inv:Equipment&amp;quot;/&amp;gt;&lt;/div&gt;&lt;div&gt;            &amp;lt;element name=&amp;quot;ptp&amp;quot; type=&amp;quot;inv:PhysicalTerminationPoint&amp;quot;/&amp;gt;&lt;/div&gt;&lt;div&gt;           &lt;strong&gt; &amp;lt;element name=&amp;quot;entityPrimaryKey&amp;quot; type=&amp;quot;inv:InfoModelEntityPrimaryKey&amp;quot;/&amp;gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;           &lt;/div&gt;&lt;div&gt;&amp;lt;/schema&amp;gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now if we look at the definition of the Equipment we see that it extends the ResourceValue itself an &lt;/div&gt;&lt;div&gt;extension of the ManagedEntityValue which is defined within the OSSJ-Common.xsd as:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; &amp;lt;complexType name=&amp;quot;ManagedEntityValue&amp;quot; abstract=&amp;quot;true&amp;quot;&amp;gt;&lt;/div&gt;&lt;div&gt;        &amp;lt;sequence&amp;gt;&lt;/div&gt;&lt;div&gt;            &amp;lt;element name=&amp;quot;lastUpdateVersionNumber&amp;quot; minOccurs=&amp;quot;0&amp;quot; type=&amp;quot;long&amp;quot; /&amp;gt;&lt;/div&gt;&lt;div&gt;           &lt;strong&gt; &amp;lt;element name=&amp;quot;key&amp;quot; type=&amp;quot;co-v1-5:ManagedEntityKey&amp;quot; minOccurs=&amp;quot;0&amp;quot;/&amp;gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;        &amp;lt;/sequence&amp;gt;&lt;/div&gt;&lt;div&gt;    &amp;lt;/complexType&amp;gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;where the ManagedEntitykey is defined as:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;lt;complexType name=&amp;quot;ManagedEntityKey&amp;quot;&amp;gt;&lt;/div&gt;&lt;div&gt;        &amp;lt;annotation&amp;gt;&lt;/div&gt;&lt;div&gt;            &amp;lt;documentation&amp;gt;&lt;/div&gt;&lt;div&gt;                A ManagedEntityKey is a unique identifier for a ManagedEntityValue.&lt;/div&gt;&lt;div&gt;               &lt;/div&gt;&lt;div&gt;                The Type, ApplicationDN and ApplicationContext are included in&lt;/div&gt;&lt;div&gt;                ManagedEntityKey, because a primaryKey is only unique within an&lt;/div&gt;&lt;div&gt;                application instance as given by the ApplicationDN running&lt;/div&gt;&lt;div&gt;                in a given naming system as given by the ApplicationContext URL.&lt;/div&gt;&lt;div&gt;            &amp;lt;/documentation&amp;gt;&lt;/div&gt;&lt;div&gt;        &amp;lt;/annotation&amp;gt;&lt;/div&gt;&lt;div&gt;        &amp;lt;sequence&amp;gt;&lt;/div&gt;&lt;div&gt;            &amp;lt;element name=&amp;quot;applicationContext&amp;quot; minOccurs=&amp;quot;0&amp;quot; type=&amp;quot;co-v1-5:ApplicationContext&amp;quot; /&amp;gt;&lt;/div&gt;&lt;div&gt;            &amp;lt;element name=&amp;quot;applicationDN&amp;quot; minOccurs=&amp;quot;0&amp;quot; type=&amp;quot;string&amp;quot; /&amp;gt;&lt;/div&gt;&lt;div&gt;            &amp;lt;element name=&amp;quot;type&amp;quot; type=&amp;quot;string&amp;quot; /&amp;gt;&lt;/div&gt;&lt;div&gt;            &lt;strong&gt;&amp;lt;element name=&amp;quot;primaryKey&amp;quot; nillable=&amp;quot;false&amp;quot;&amp;gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;                &amp;lt;complexType mixed=&amp;quot;false&amp;quot;&amp;gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;                    &amp;lt;complexContent mixed=&amp;quot;false&amp;quot;&amp;gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;                        &amp;lt;extension base=&amp;quot;anyType&amp;quot;/&amp;gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;                    &amp;lt;/complexContent&amp;gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;                &amp;lt;/complexType&amp;gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;            &amp;lt;/element&amp;gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;        &amp;lt;/sequence&amp;gt;&lt;/div&gt;&lt;div&gt;    &amp;lt;/complexType&amp;gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The main point is that the primaryKey whithin the ManagedEntityKey is a container for the identifier type defined by the vendor. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The primaryKey is where we will find our identifier type InfoModelEntityPrimaryKey. &lt;/div&gt;&lt;div&gt;Note that the primaryKey can contain any type that is an extension of the anyType.&lt;/div&gt;&lt;div&gt;What does it mean ? It means that the primaryKey does not constrain its content in any way. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It also mean that nothing is defined by default to identify the Entity thus the need for the vendor to &lt;/div&gt;&lt;div&gt;define its own primaryKey definition (i.e InfoModelEntityPrimaryKey).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now given the JAXB mappings of Equipment entity we need to program the primaryKey construct and &lt;/div&gt;&lt;div&gt;plug in our InfoModelEntityPrimaryKey. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This ends up being an interesting exercice of converting a JAXBElement to an org.w3c.dom.Element !&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The following code does show how the conversion is done:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;public org.w3c.dom.Element buildAnyKey(String keyValue) {&lt;/div&gt;&lt;div&gt;        try {&lt;/div&gt;&lt;div&gt;            com.osswave.xml.inv.v1_5.ObjectFactory ofac = new com.osswave.xml.inv.v1_5.ObjectFactory();&lt;/div&gt;&lt;div&gt;            InfoModelEntityPrimaryKey infoKey = ofac.createInfoModelEntityPrimaryKey();&lt;/div&gt;&lt;div&gt;            infoKey.setPrimaryKey(keyValue);&lt;/div&gt;&lt;div&gt;            JAXBElement&amp;lt;InfoModelEntityPrimaryKey&amp;gt; infoKeyElement = ofac.createEntityPrimaryKey(infoKey);&lt;/div&gt;&lt;div&gt;            DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();&lt;/div&gt;&lt;div&gt;            dbf.setNamespaceAware(true);&lt;/div&gt;&lt;div&gt;            DocumentBuilder db = dbf.newDocumentBuilder();&lt;/div&gt;&lt;div&gt;            Document doc = db.newDocument();&lt;/div&gt;&lt;div&gt;            Class[] c = {InfoModelEntityPrimaryKey.class};&lt;/div&gt;&lt;div&gt;            JAXBContext ctx = JAXBContext.newInstance(c);&lt;/div&gt;&lt;div&gt;            Marshaller m = ctx.createMarshaller();&lt;/div&gt;&lt;div&gt;            m.marshal(infoKeyElement, doc);&lt;/div&gt;&lt;div&gt;            return doc.getDocumentElement();&lt;/div&gt;&lt;div&gt;        } catch (JAXBException ex) {&lt;/div&gt;&lt;div&gt;            Logger.getLogger(InventoryWebService.class.getName()).log(Level.SEVERE, null, ex);&lt;/div&gt;&lt;div&gt;        } catch (ParserConfigurationException ex) {&lt;/div&gt;&lt;div&gt;            Logger.getLogger(InventoryWebService.class.getName()).log(Level.SEVERE, null, ex);&lt;/div&gt;&lt;div&gt;        }&lt;/div&gt;&lt;div&gt;        return null;&lt;/div&gt;&lt;div&gt;    }&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;which combined with the following code:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;public EntityKey buildEntityKey(String keyValue) {&lt;/div&gt;&lt;div&gt;        Element element = buildAnyKey(keyValue);&lt;/div&gt;&lt;div&gt;        EntityKey key = new EntityKey();&lt;/div&gt;&lt;div&gt;        PrimaryKey pkey = new PrimaryKey();&lt;/div&gt;&lt;div&gt;        pkey.getAny().add(element);&lt;/div&gt;&lt;div&gt;        key.setPrimaryKey(pkey);&lt;/div&gt;&lt;div&gt;        return key;&lt;/div&gt;&lt;div&gt;        }&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;will build an EntityKey which contains an infomodel primary key with the keyValue.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We added the following lines to the latest version of the Inventory WebService createEntityByValue method:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;       ManagedEntityKey key = buildEntityKey(&amp;quot;MyKey&amp;quot;);&lt;/div&gt;&lt;div&gt;       entity.setKey(key);&lt;/div&gt;&lt;div&gt;       repository.create(entity);&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now we get the following response !&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;lt;S:Envelope xmlns:S=&amp;quot;http://schemas.xmlsoap.org/soap/envelope/&amp;quot;&amp;gt;&lt;/div&gt;&lt;div&gt;   &amp;lt;S:Body&amp;gt;&lt;/div&gt;&lt;div&gt;      &amp;lt;ns3:createEntityByValueResponse xmlns:ns2=&amp;quot;http://ossj.org/xml/Common/v1-5&amp;quot; xmlns:ns3=&amp;quot;http://ossj.org/xml/Inventory/v1-2&amp;quot; xmlns:ns4=&amp;quot;http://ossj.org/xml/Common-CBECore/v1-5&amp;quot; xmlns:ns5=&amp;quot;http://ossj.org/xml/Common-CBEResource/v1-5&amp;quot; xmlns:ns6=&amp;quot;http://osswave.com/xml/inv/v1-5&amp;quot; xmlns:ns7=&amp;quot;http://ossj.org/xml/Common-CBEReport/v1-5&amp;quot; xmlns:ns8=&amp;quot;http://ossj.org/xml/Common-CBEDatatypes/v1-5&amp;quot; xmlns:ns9=&amp;quot;http://docs.oasis-open.org/wsrf/bf-2&amp;quot; xmlns:ns10=&amp;quot;http://www.w3.org/2005/08/addressing&amp;quot; xmlns:ns11=&amp;quot;http://docs.oasis-open.org/wsn/b-2&amp;quot; xmlns:ns12=&amp;quot;http://docs.oasis-open.org/wsn/t-1&amp;quot; xmlns:ns13=&amp;quot;http://docs.oasis-open.org/wsrf/r-2&amp;quot;&amp;gt;&lt;/div&gt;&lt;div&gt;         &lt;strong&gt;&amp;lt;ns3:entityKey&amp;gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;            &amp;lt;ns2:primaryKey&amp;gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;               &amp;lt;ns6:entityPrimaryKey xmlns=&amp;quot;http://osswave.com/xml/inv/v1-5&amp;quot;&amp;gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;                  &amp;lt;primaryKey&amp;gt;MyKey&amp;lt;/primaryKey&amp;gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;               &amp;lt;/ns6:entityPrimaryKey&amp;gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;            &amp;lt;/ns2:primaryKey&amp;gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;         &amp;lt;/ns3:entityKey&amp;gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;      &amp;lt;/ns3:createEntityByValueResponse&amp;gt;&lt;/div&gt;&lt;div&gt;   &amp;lt;/S:Body&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;lt;/S:Envelope&amp;gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Next week we will talk about the update methods and the associated design patterns. &lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.tmforum.org/community/aggbug.aspx?PostID=12145" width="1" height="1"&gt;</description></item><item><title>TM Forum's First Software Developer Regional Spotlight</title><link>http://www.tmforum.org/community/groups/forum_developers_group/blog/archive/2010/04/12/tm-forum-s-first-software-developer-regional-spotlight.aspx</link><pubDate>Mon, 12 Apr 2010 10:05:26 GMT</pubDate><guid isPermaLink="false">8df77bd3-f108-475e-a106-78d9d76700a5:11957</guid><dc:creator>Joann O'Brien</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.tmforum.org/community/groups/forum_developers_group/blog/rsscomments.aspx?PostID=11957</wfw:commentRss><comments>http://www.tmforum.org/community/groups/forum_developers_group/blog/archive/2010/04/12/tm-forum-s-first-software-developer-regional-spotlight.aspx#comments</comments><description>&lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:calibri;"&gt;TM Forum held its very first Software Developer Regional Spotlight on March 30&lt;sup&gt;th&lt;/sup&gt;, in Bangalore, India.  The event was a great success.  It provided a technical overview of TM Forum’s Frameworx and included a deep dive into a number of areas, including Enterprise Identity Management and the Open Source Interface Framework.  &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:calibri;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:calibri;"&gt;The Enterprise Identity Management generated a lot of discussion as clearly security and synchronised Single Sign On is an issue for many of our members.  Problems and potential solutions were discussed among the group with the Team Leader of the EIM team, Vinay Devadatta.  Many of the issues raised are being addressed as part of TMF614 and TMF 615 under the Enterprise Identity Management topic under the Interface community :  &lt;a href="http://www.tmforum.org/community/groups/interface_program/forum/default.aspx"&gt;Enterprise Identity Management&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:calibri;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:calibri;"&gt;The audience was also clearly impressed with the work that had taken place as part of the Interface team and in particular the Interface Framework.  Craig Gallen gave a very detailed technical presentation on Interface Framework program.  Note, In order to take this program to release 2.0 which is planned for the end of Aug 2010, we require an Java programmer and additional system engineers.  If you are interested please contact me, &lt;/span&gt;&lt;a href="mailto:jobrien@tmforum.org"&gt;&lt;span style="font-family:calibri;color:#0000ff;"&gt;jobrien@tmforum.org&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:calibri;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:calibri;"&gt;Just a flavour of some feedback received regarding the event:&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:9pt;"&gt;“It was fantastic presentation with incisive insight of the growing challenge of the OSS/BSS market and TMF&amp;#39;s perspective regarding the mitigation of the same. The speakers articulated the facts and implications very well and I hope to gain further information of the same as and when TM Forum will oblige me with any such event in bangalore once again. “&lt;br /&gt;
&lt;br /&gt;
Protyay Roy&lt;br /&gt;
Aricent Inc.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:9pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:9pt;"&gt;“Spotlight program is very informative and provided great insight to the TMForum activities as well contributions I can make towards standardizing. It is really wonderful and great experience to be there.”&lt;br /&gt;
Chakradhar C - Nanovisionapps&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:9pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:calibri;"&gt;We also held a raffle for an iPod Touch, and all the people who completed our Online Survey after the event were entered into the draw.  I am delighted to announce that Samuel Johnson, Technical Lead, from Wipro, was the winner.  Congratulations Samuel.&lt;br /&gt;
&lt;br /&gt;
My thanks to all who provided feedback via the Online Survey, this information helps us to continue to build an effective program for our members.  &lt;br /&gt;
&lt;br /&gt;
Many thanks to everyone who helped make this a great success. &lt;br /&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:calibri;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:calibri;"&gt;Some final reminders:&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt 36pt;"&gt;&lt;span&gt;&lt;span style="font-family:calibri;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;times new roman&amp;#39;;"&gt;          &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:calibri;"&gt;Join the &lt;a href="http://www.tmforum.org/community/groups/forum_developers_group/default.aspx"&gt;Developer Community&lt;/a&gt;&lt;br /&gt;
-      Encourage other Developers in your organisation to join. &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt 36pt;"&gt;&lt;span&gt;&lt;span style="font-family:calibri;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;times new roman&amp;#39;;"&gt;          &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:calibri;"&gt;For all the latest information related to Developers, check out the &lt;a href="http://www.tmforum.org/DeveloperNetworkProgram/7688/home.html"&gt;Developer Portal&lt;/a&gt;&lt;br /&gt;
-      Check in regularly as the news and information is continuously updated. &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt 36pt;"&gt;&lt;span&gt;&lt;span style="font-family:calibri;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;times new roman&amp;#39;;"&gt;          &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:calibri;"&gt;Browse the community groups, and join any communities that are of interest to you, select “Amend Preferences” in any community. &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt 36pt;"&gt;&lt;span&gt;&lt;span style="font-family:calibri;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;times new roman&amp;#39;;"&gt;          &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:calibri;"&gt;Don’t forget to set your profile and add a picture.  &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt 36pt;"&gt;&lt;span&gt;&lt;span style="font-family:calibri;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;times new roman&amp;#39;;"&gt;          &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:calibri;"&gt;If interested in taking on a work item to help progress the next phase standards development across our collaboration programs, please contact, Aileen Smith: asmith@tmforum.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:calibri;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.tmforum.org/community/aggbug.aspx?PostID=11957" width="1" height="1"&gt;</description><category domain="http://www.tmforum.org/community/groups/forum_developers_group/tags/developers/default.aspx">developers</category><category domain="http://www.tmforum.org/community/groups/forum_developers_group/tags/Developer+Network/default.aspx">Developer Network</category><category domain="http://www.tmforum.org/community/groups/forum_developers_group/tags/OSS/default.aspx">OSS</category><category domain="http://www.tmforum.org/community/groups/forum_developers_group/tags/SOA/default.aspx">SOA</category><category domain="http://www.tmforum.org/community/groups/forum_developers_group/tags/Google/default.aspx">Google</category><category domain="http://www.tmforum.org/community/groups/forum_developers_group/tags/Standards/default.aspx">Standards</category><category domain="http://www.tmforum.org/community/groups/forum_developers_group/tags/Model+Driven/default.aspx">Model Driven</category><category domain="http://www.tmforum.org/community/groups/forum_developers_group/tags/Interfaces/default.aspx">Interfaces</category><category domain="http://www.tmforum.org/community/groups/forum_developers_group/tags/Developer/default.aspx">Developer</category><category domain="http://www.tmforum.org/community/groups/forum_developers_group/tags/Test/default.aspx">Test</category><category domain="http://www.tmforum.org/community/groups/forum_developers_group/tags/tooling/default.aspx">tooling</category><category domain="http://www.tmforum.org/community/groups/forum_developers_group/tags/NMS/default.aspx">NMS</category><category domain="http://www.tmforum.org/community/groups/forum_developers_group/tags/developer+portal/default.aspx">developer portal</category><category domain="http://www.tmforum.org/community/groups/forum_developers_group/tags/Test+kits/default.aspx">Test kits</category><category domain="http://www.tmforum.org/community/groups/forum_developers_group/tags/get+started/default.aspx">get started</category><category domain="http://www.tmforum.org/community/groups/forum_developers_group/tags/EMS/default.aspx">EMS</category></item><item><title>Introduction of new technology</title><link>http://www.tmforum.org/community/groups/forum_developers_group/blog/archive/2010/04/07/introduction-of-new-technology.aspx</link><pubDate>Wed, 07 Apr 2010 14:55:19 GMT</pubDate><guid isPermaLink="false">8df77bd3-f108-475e-a106-78d9d76700a5:11818</guid><dc:creator>Joann O'Brien</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.tmforum.org/community/groups/forum_developers_group/blog/rsscomments.aspx?PostID=11818</wfw:commentRss><comments>http://www.tmforum.org/community/groups/forum_developers_group/blog/archive/2010/04/07/introduction-of-new-technology.aspx#comments</comments><description>While travelling from India last week I happened to notice, what appeared to be the airport authorities approach to the introduction on new technology, particularly new technology which usually causes an initial negative reaction. &lt;br /&gt;
&lt;br /&gt;
The queue for the security check point which scanned the Iris of your eye, moved significantly faster then the queue where your passport was checked manually by a security officer.&lt;br /&gt;
&lt;br /&gt;
The approach was simple, obvious and working!  If it makes life easier and faster, people are likely to go with it.  So, why am I telling you this... &lt;br /&gt;
&lt;br /&gt;
One of the presentations that we covered in Bangalore during the first Developer Spotlight, was the Interface Framework and the imminent release of 1.0 of the framework.  We know it will make the development of Interfaces faster along with providing improved quality.  So like the Iris scanner at the security checkpoint, there may be some hesitation to adopt initially, but ultimately the fact that there are obvious savings in time and quality, I expect this will play a significant role in the adoption of this new tooling.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;p style="margin:0cm 0cm 10pt;"&gt;&lt;span style="font-family:calibri;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.tmforum.org/community/aggbug.aspx?PostID=11818" width="1" height="1"&gt;</description><category domain="http://www.tmforum.org/community/groups/forum_developers_group/tags/Developer+Network/default.aspx">Developer Network</category><category domain="http://www.tmforum.org/community/groups/forum_developers_group/tags/OSS/default.aspx">OSS</category><category domain="http://www.tmforum.org/community/groups/forum_developers_group/tags/EMS/default.aspx">EMS</category><category domain="http://www.tmforum.org/community/groups/forum_developers_group/tags/harmonized+tooling/default.aspx">harmonized tooling</category><category domain="http://www.tmforum.org/community/groups/forum_developers_group/tags/Interfaces+tooling+NMS/default.aspx">Interfaces tooling NMS</category><category domain="http://www.tmforum.org/community/groups/forum_developers_group/tags/converged/default.aspx">converged</category></item><item><title>Using TM Forum Frameworx: A Developer’s View</title><link>http://www.tmforum.org/community/groups/forum_developers_group/blog/archive/2010/03/29/using-tm-forum-frameworx-a-developer-s-view.aspx</link><pubDate>Tue, 30 Mar 2010 03:02:03 GMT</pubDate><guid isPermaLink="false">8df77bd3-f108-475e-a106-78d9d76700a5:11504</guid><dc:creator>John Reilly</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.tmforum.org/community/groups/forum_developers_group/blog/rsscomments.aspx?PostID=11504</wfw:commentRss><comments>http://www.tmforum.org/community/groups/forum_developers_group/blog/archive/2010/03/29/using-tm-forum-frameworx-a-developer-s-view.aspx#comments</comments><description>&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;&lt;span style="font-family:calibri;"&gt;Back in China this week, working on my chop stick skills and have now mastered (almost) the art of taking noodles, one of my favorites, out of a big bowl without leaving most of them in the bowl or all over the table!  Also, tried some new things– cold goose with fresh chopped garlic and a soup of mushroom and donkey..that’s right donkey.&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;&lt;span style="font-family:calibri;"&gt;Speaking of noodles, I often call my brain my noodle or when trying to come up with an answer to a question, I often say “I am noodling it out”.  So, here I’ll noodle out a question about how a developer could use the four frameworks that make up TM Forum Frameworx.  Yes, I was a developer at one point in my life and I continue to work with them!&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;&lt;span style="font-family:calibri;"&gt;The obvious choice to start is the TM Forum Interfaces, which are part of the Integration Framework.  A wealth of information can be found on the TM Forum Interface Program web pages.  There is everything from ready-made interfaces that meet a variety of requirements to design guidelines in case an interface needs to be developed.  Many of the interfaces come with reference implementations and compliance test suites.  There is a tool to help with the development of new interfaces and extensions to existing interfaces.  And, for those interested in a service oriented approach, The Integration Framework’s suite of guide books (GB942 series) may be of interest.&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;&lt;span style="font-family:calibri;"&gt;But there is more. Inquisitive developers often wonder about the source of the requirements that drove the development of the interfaces.  Here is where the Business Process Framework eTOM) comes into play.  Tasks that are performed by individuals or applications are contained in this framework.  The descriptions of the tasks can be seen as a set of draft functional requirements for applications and their associated interfaces.  Of course, more detail has to be added.&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;&lt;span style="font-family:calibri;"&gt;And, where does the content of the interfaces that are exposed to applications come from?  The Information Framework (SID) fills this need for the TM Forum interfaces and can fill this need for interfaces not available from the TM Forum.&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;&lt;span style="font-family:calibri;"&gt;Not to forget another important ingredient of an application – the database.  The SID can also be used as a starting point for database design for those in the development community that are involved in this type of work.&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;&lt;span style="font-family:calibri;"&gt;Lastly, from a Frameworx perspective, what are applications in which the interfaces can be used?  This question is answered by the mappings (in GB942MAP - TM Forum Solution Framework Mappings) between the Application Framework (TAM) and interfaces.  Can any assistance be provided to defining application boundaries?  This is where the TAM itself comes into play.  The TAM provides a template of applications that possess well defined boundaries.&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;&lt;span style="font-family:calibri;"&gt;For more you can visit the TM Forum’s Developer Community at… &lt;/span&gt;&lt;a href="http://www.tmforum.org/community/groups/forum_developers_group/default.aspx"&gt;&lt;span style="font-family:calibri;color:#003399;"&gt;http://www.tmforum.org/community/groups/forum_developers_group/default.aspx&lt;/span&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p style="text-align:justify;margin:0in 0in 10pt;"&gt;&lt;span style="font-family:calibri;"&gt;I’ll be traveling to Delhi, India the week after next, so look for another blog from there…&lt;/span&gt;&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.tmforum.org/community/aggbug.aspx?PostID=11504" width="1" height="1"&gt;</description></item></channel></rss>
