{"id":623,"date":"2009-12-05T09:19:52","date_gmt":"2009-12-05T09:19:52","guid":{"rendered":"https:\/\/www.wapshere.com\/missmiis\/?p=623"},"modified":"2009-12-05T09:20:05","modified_gmt":"2009-12-05T09:20:05","slug":"five-things-about-the-fim-service","status":"publish","type":"post","link":"https:\/\/www.wapshere.com\/missmiis\/five-things-about-the-fim-service","title":{"rendered":"Five things about the FIM Portal"},"content":{"rendered":"<p>I&#8217;m having a big FIM week this week &#8211; in fact it&#8217;s more like a FIM Fortnight! I&#8217;ve delivered a three day training, demonstrated the product to a client, and I&#8217;m presenting FIM at a half-day seminar next week. (See <a href=\"http:\/\/www.lanexpert.ch\/default.aspx?tabid=26&amp;itemID=56\">here<\/a> if you happen to be in Vaud, CH and you&#8217;d like to come.)<\/p>\n<p>So while I&#8217;m doing and thinking all things FIM I&#8217;ve decided to start a little &#8220;Five things about&#8221; blog series on different aspects of the new platform. To start &#8211; some generalities about the FIM Portal (aka All The New Sharepointy\u00c2\u00a0Stuff).<\/p>\n<p><!--more--><\/p>\n<h3>1. It&#8217;s a framework<\/h3>\n<p>I have always told people that ILM is a <em>framework,<\/em>\u00c2\u00a0instead of\u00c2\u00a0a complete OOB solution. And then, before their eyes completely glazed over, I have attempted to impress on them that this is a Good Thing! IdM is an inherently complex problem, with every organisation having their own perculiarities, and I\u00c2\u00a0firmly believe that workable IdM must be <em>grown<\/em> into the environment, preferably in a standards-based, manageable way.<\/p>\n<p>ILM always ticked these boxes for me and now, with FIM, Microsoft have extended the notion to the Portal. Essentially we have a new framework for defining the schema, workflows, permissions and data-entry points. RC1 comes with a schema and a\u00c2\u00a0starter\u00c2\u00a0collection of policies, sets and workflows &#8211; but you are free to view these\u00c2\u00a0as <em>suggestions<\/em> which you\u00c2\u00a0may change or build upon.<\/p>\n<h3>2. Sequential processing<\/h3>\n<p>Those of us who work with ILM have come to think in its &#8220;steady-state&#8221; way, where all we care about is the state of the data right now.\u00c2\u00a0The Portal operates in a sequential way, and I had to get used to it.<\/p>\n<p>I was following <a href=\"http:\/\/blogs.dirteam.com\/blogs\/jorge\/archive\/2009\/11\/12\/fim-2010-not-not-is-empty-and-not-equal-i-think.aspx\">Jorge&#8217;s method<\/a> to get around the lack of an &#8220;IsPresent&#8221; qualifier\u00c2\u00a0when I realised I didn&#8217;t actually need it. We\u00c2\u00a0had made\u00c2\u00a0a very simple form to request a user account through the web services and I wanted to use a workflow to generate system-type attributes such as Account Name, Display Name and Employee ID. My immediate thought was to make a set of &#8220;Account Name not present&#8221; but that&#8217;s an ILM way of thinking &#8211; ie just look at the data now.<\/p>\n<p>The FIM Portal way is to think about <em>where the data came from<\/em>. In this case it was the account I&#8217;d created for the web service. I modified the MPR that gave rights to the service account, and now it also runs the Workflow that generates the attributes. Obvious in retrospect, but it did make me realise I had to adopt a more sequential way of thinking for the Portal.<\/p>\n<h3>3. The\u00c2\u00a0WS-* thing really is a big deal<\/h3>\n<p>I&#8217;ve heard a lot about the web services interface to the Portal but, not being a developer, I&#8217;d filed it under &#8220;find out more later&#8221;. But now I&#8217;ve had the chance to work with a developer colleague for a couple of days and have seen how excited he is about the possibilities.<\/p>\n<p>With RC1 he did have some tedious mucking about with library versions first (something about an x64\/x32 conflict &#8211; don&#8217;t ask me more), but once that was sorted he showed me how simple the code is.<\/p>\n<p>I started to think about how important it is that we&#8217;re not being tied to the Portal interface to use it. Many organisations will already have existing portals where people are accustomed to\u00c2\u00a0find data and make\u00c2\u00a0requests &#8211; this way those interfaces can be modified to access the Portal at the back-end, and users\u00c2\u00a0don&#8217;t need to worry about learning something different.<\/p>\n<h3>4. It is distinct from the sync service, and that is fine<\/h3>\n<p>I have been told that I should consider the metaverse and the data in the Portal as the same thing &#8211; but they&#8217;re not, and actually I don&#8217;t see that as a problem. The Sync Service is a distinct unit and, for it, the FIM Portal is just another connected data source. I am very comfortable with the idea of preparing my data in the Portal and then, when it is ready, sync&#8217;ing it through the Sync Service.<\/p>\n<p>This has also led me to the decision that I won&#8217;t be using the Portal-based Sync Rules, at least for the first release. I do have concerns about performance and troubleshooting which have not been allayed but what I see in RC1 but, more fundamentally than that, I want to keep the configuration of the Sync Service within the Sync Service.<\/p>\n<p>Partly it is to do with seperating the part of the product that is mature and stable, from the part of the product that is completely new. Many people I talk to are interested, but concerned about adopting a &#8220;version one&#8221; product. I am hoping that\u00c2\u00a0the product being only\u00c2\u00a0&#8220;half new&#8221; will seem like an acceptable risk. I need to be able to guarantee that the half which isn&#8217;t new will perform without problems.<\/p>\n<h3>5. All Resources are treated in similar ways<\/h3>\n<p>Resources are just objects that exist within the Portal. These are users and groups, but also the things that make up the functionality of the Portal &#8211; like Workflow Activities, and\u00c2\u00a0Requests, and MPRs.<\/p>\n<p>Because they&#8217;re all just Resources, the methods for interacting with them are repeatable. So when I wanted to give the Administrator account access to add a new workflow activity, I followed exactly the same process as giving a user the permission to create a group. If I want to change a form, or add a new attribute, it will be the same process for any resource type. This reapplication of methods should certainly make the Portal easier to learn!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;m having a big FIM week this week &#8211; in fact it&#8217;s more like a FIM Fortnight! I&#8217;ve delivered a three day training, demonstrated the product to a client, and I&#8217;m presenting FIM at a half-day seminar next week. (See here if you happen to be in Vaud, CH and you&#8217;d like to come.) So&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":[]},"categories":[42],"tags":[],"class_list":["post-623","post","type-post","status-publish","format-standard","hentry","category-fim-2010"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pkp1o-a3","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts\/623","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/comments?post=623"}],"version-history":[{"count":9,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts\/623\/revisions"}],"predecessor-version":[{"id":632,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts\/623\/revisions\/632"}],"wp:attachment":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/media?parent=623"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/categories?post=623"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/tags?post=623"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}