tag:blogger.com,1999:blog-85071853446913634972024-03-22T01:17:54.026+01:00i8c - Business Integration Architectsi8chttp://www.blogger.com/profile/05003002313779050051noreply@blogger.comBlogger141125tag:blogger.com,1999:blog-8507185344691363497.post-63134861715861529342015-04-09T11:10:00.000+02:002015-04-09T11:10:18.315+02:00Our blog has moved!With the launch of our new website, we have integrated our blog with our company website. You can continue to follow our blog at <a href="http://www.i8c.be/blog/">http://www.i8c.be/blog/</a>. New blog entries will be posted on our new blog only. New entries will no longer be posted on Blogger.<br />
<br />
Enjoyi8chttp://www.blogger.com/profile/05003002313779050051noreply@blogger.com0tag:blogger.com,1999:blog-8507185344691363497.post-62970256121274995452015-02-24T20:48:00.004+01:002015-02-24T20:50:49.197+01:00IBM InterConnect: The Premier Cloud Computing & Mobile Conference<div class="MsoNormal">
Sunday I arrived at IBM <a href="http://www.ibm.com/cloud-computing/us/en/interconnect/">Interconnect 2015</a>.
IBM has decided to combine the 3 conferences – Impact, Pulse and Innovate into
one Conference. IBM Interconnect- The Premier Cloud Computing & Mobile
Conference. It started Sunday with the Business Partner Summit.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span lang="EN-US">Monday the
real conference started. </span>There was a big American style opening session.
If you want more information about it just look at #ibminterconnect on twitter
or countless other blogs. As an integration consultant, I mainly focus on
products like IBM Integration Bus, IBM MQ, Datapower, API management and BPM. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span lang="EN-US">I attended
some great sessions on Monday about what is new in the products. I will now
give a short overview about what’s new. When I have time I will write an
article to go deeper into the different products seperatly. </span>I will now just give the key features I
found most interesting.</div>
<h3>
<b>IBM Integration bus</b></h3>
<div class="MsoNormal">
Last year the Open beta was announced, this year the
official release is announced. </div>
<div class="MsoNormal">
</div>
<ul>
<li>Platform support is extended.</li>
<li>Most important for me: The developer experience has improved. They did it by simplifying the installation, introducing the concept of a policy, some nodes are now replaced with connectors. There is also a connector framework available to create your own connectors in a simplified way.</li>
<li>The data and transformation capabilities has been improved.</li>
<li>The way IIB is connected with IBM MQ. IBM MQ is no longer a required prerequisites. You can run IIB without IBM MQ. On the other side IIB can now be connected to multiple Queue Managers and different Integration Node scan connect to the same Queue Manager. When you want to use 2phase commits (and who doesn’t want this ? ) you still need MQ as a transaction manager. The speaker said that they are planning on opening IIB so other transaction managers can be used.</li>
</ul>
<ul>
</ul>
<h3>
<b>Datapower</b></h3>
Nothing new was introduced since the 7.1 release in November 2014. To recap the 7.1 release:<br />
<div>
<ul>
<li>IBM renamed it to IBM Datapower SOA Appliance</li>
<li>There is now only one singular, modular and extensible platform. You no longer have the distinction between the XG, XI and XB systems. There is only one and you can extend it with different modules </li>
<ul>
<li>B2B Module</li>
<li>Tibco EMS Module</li>
<li>Integration Module</li>
<li>Application Optimization Module</li>
<li>ISAM Proxy Module</li>
</ul>
</ul>
Some assets for Datapower are available on GitHub.<br />
<h3>
<b>IBM MQ Family</b></h3>
<div class="MsoListParagraphCxSpFirst">
</div>
<ul>
<li>In this family I had my biggest surprise. There was the announcement of an IBM MQ Appliance. The release date will be 13 march 2015. It is ideal to use as a messaging hub or to extend MQ connectivity to remote locations. The appliance can run different MQ V8 queue managers. There are some restrictons. More information can be found on <a href="http://ibm.biz/mqappliance">http://ibm.biz/mqappliance</a></li>
<li>Fix pack 2 is being released somewhere next week. The most interesting change is the authentication. You can now use ldap to authenticate with an LDAP. The queue manager has to run on a Linux or Unix. This authentication will also be available on Windows in the near future. There is also a new concept of a “routed” topic. Basically you have some queue manager who know everything and connect with everyone. This way the traffic for pub/sub can minimized. </li>
<li>IBM is adding in support for MQ Light into the IBM MQ product. A new AMQP 1.0 channel will be available that can be used to connect an MQ light application with a IBM MQ V8 queue manager. A tech preview is available for fix pack 2.</li>
<li>MQ Light is also available in BlueMix.</li>
<li>IBM MQ Adavanced for developers has been released.</li>
</ul>
<div>
Author: Jef Jansen</div>
</div>
i8chttp://www.blogger.com/profile/05003002313779050051noreply@blogger.com0tag:blogger.com,1999:blog-8507185344691363497.post-49239810376478667732015-01-07T09:42:00.000+01:002015-01-07T09:42:00.249+01:00IBM BPM – Task Notification Email template<div abp="832">
<br /></div>
<div abp="833">
A customer of mine had the requirement to send an email every time a task is created for a user. Rather than polluting our process with an email activity we decided to use the built in functionality IBM BPM provides. When a user logs in into Process Portal she/he can set some preferences. One of them is to send an email when a new task arrives for the user (or his group). </div>
<a name='more'></a><div abp="838">
<br /></div>
<div abp="839">
We had two small challenges when implementing this behavior. </div>
<div abp="841">
1st The first challenge we encountered was the following: The customer stores the email addresses in its LDAP directory. The users and there corresponding email addresses our synchronized with the WebSphere User Registry. The users from the WebSphere User Registry are also synchronized with the BPM User registry. So far so good, the problem is that although users are synchronized to BPM the email addresses are not.</div>
<div abp="842">
In order to solve this we wrote a synchronization script in Process Designer which queries the LDAP and updates the BPM user registry. With this script we can also enable the notification. </div>
<div abp="843">
<br /></div>
<div abp="844">
2nd The next challenge was the format of email. IBM uses a template to create this mail. As expected this template can be customized. We started with the default template from IBM. It can be found by unpacking <BPM Install Root>\BPM\Lombardi\process-server\lib\procsrv_resources.jar. In this jar you find a template for every language. You have 2 flavors extermailprocess_{0}.html and extermailnoprocess_{0}.html. The difference between the two is that the first one is used for tasks that are part of a BPD and the second one for tasks that are not a part of a BPD.</div>
<div abp="846">
<img abp="847" src="data:image/png;base64,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" /></div>
<div abp="850">
You should not edit this templates directly in the file. You should copy them and make changes on the copied files. After you have your own templates create a jar file from them and place this jar file in a shared library on your process server. </div>
<div abp="851">
<br /></div>
<div abp="852">
Now you need to tell IBM BPM to use your templates instead of the default ones. To do this place the following fragment in your 100Custom.xml file:</div>
<div abp="854">
<br /></div>
<div abp="855">
<img abp="857" src="data:image/png;base64,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" /></div>
<div abp="858">
Of course you should customize this to match your own environment. The {0} part of the process/noprocess template is replaced with the user locale. For more information on the different setting you can look into the information center.</div>
<div abp="859">
<br /></div>
<div abp="860" style="text-align: right;">
Author: Jef</div>
i8chttp://www.blogger.com/profile/05003002313779050051noreply@blogger.com0tag:blogger.com,1999:blog-8507185344691363497.post-39876033078189266602015-01-02T11:16:00.000+01:002015-01-02T11:16:00.812+01:00Devops (3): Chef (and some fun cooking)After having looked into <a href="https://www.vagrantup.com/">Vagrant</a>, it became clear that <a href="http://puppetlabs.com/">Puppet</a> and <a href="https://www.chef.io/">Chef</a> are "the" tools to do the structured and repeatable configuration of machines. I picked the recent book "<a href="http://shop.oreilly.com/product/0636920032397.do#">Learning Chef</a>" to learn and experiment a bit.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0aDqdE7dbEx2Rl-7Z2eFZXUG8_gQP8QVbqWJrfC72YELDjjulFK2QSh4qBTo11M4QdXe1aBfofVTVHPePButzVq_gqPp5BLSKPIVTFq65bMNq_kMzken3hefl5qtRixHxwxUOHtQejb0/s1600/learning_chef.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0aDqdE7dbEx2Rl-7Z2eFZXUG8_gQP8QVbqWJrfC72YELDjjulFK2QSh4qBTo11M4QdXe1aBfofVTVHPePButzVq_gqPp5BLSKPIVTFq65bMNq_kMzken3hefl5qtRixHxwxUOHtQejb0/s1600/learning_chef.jpg" height="320" width="243" /></a></div>
<strong>Tools</strong><br />
<ul>
<li>The book uses the recent <a href="https://downloads.chef.io/chef-dk/">Chef Development Kit</a> which should gradually replace the tool called <a href="https://docs.chef.io/knife.html">Knife</a>.</li>
<li>The tool "Chef" uses the the <a href="https://docs.chef.io/dsl_recipe.html">Recipe DSL</a> to write <a href="http://docs.chef.io/recipes.html">recipes</a> (Domain Specific Language, based on the Ruby programming language) </li>
<li>VirtualBox is used for running the VM's that are going to be cooked and baked</li>
<li>Complemented with our good friend <a href="https://www.vagrantup.com/">Vagrant</a> (see previous DevOps blog)(actually kitchen-vagrant)</li>
<li>Finally the tool <a href="https://docs.chef.io/kitchen.html">kitchen</a> is used </li>
</ul>
The focus op Chef really lies on getting the software on the machine installed, configured, and up and running. On the target machine, a Chef Client is installed that will retrieve (new and updated) recipes from a Chef Server. So the Chef clients each pull the recipes from the Chef Server.<br />
Note: the tool <a href="http://www.ansible.com/">Ansible</a> does the opposite, pushing configuration data to the machines.<br />
<br />
Many cookbooks or recipes can be downloaded from the <a href="https://supermarket.chef.io/cookbooks">Chef Supermarket</a> and others.<br />
<br />
<strong>Finally</strong><br />
After spending some time look around in the world of DevOps and its tools, I have a few general Observations:<br />
<ul>
<li>Devops is strongly focused on Linux</li>
<li>Diverse programming languages such as Ruby and Erlang are used</li>
<li>This is a domain in full flux, new initiatives and companies pop up, things evolve rapidly</li>
<li>First time I see the file format YAML actually being used</li>
</ul>
<div>
Author: Guy</div>
i8chttp://www.blogger.com/profile/05003002313779050051noreply@blogger.com0tag:blogger.com,1999:blog-8507185344691363497.post-33432539773904853482014-12-31T10:13:00.000+01:002014-12-31T10:13:00.063+01:00Devops (2): Vagrant<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXafJXrrpHUiPROk2tlW0va8r1MxMqJhOnDRq20DHECz_HxIXuFjd-cBTqcezpzoacJyYIwSV1YN1ykmWc8a-8-EzVl1EHoPeSuffmQZtCDfsaP897tWW79QIkNd7ZUogbrSeU3VNvyiw/s1600/vagrant-logo.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXafJXrrpHUiPROk2tlW0va8r1MxMqJhOnDRq20DHECz_HxIXuFjd-cBTqcezpzoacJyYIwSV1YN1ykmWc8a-8-EzVl1EHoPeSuffmQZtCDfsaP897tWW79QIkNd7ZUogbrSeU3VNvyiw/s1600/vagrant-logo.jpg" height="87" width="320" /></a>After looking a bit into <a href="https://www.docker.com/">Docker</a>, I went on to look into <a href="https://www.vagrantup.com/">Vagrant</a>, another well-known tool to provision and configure virtual machines.<br />
<br />
<br />
<br />
To learn about Vagrant, I read the book "<a href="http://shop.oreilly.com/product/0636920026358.do">Vagrant: Up and Running</a>". This O'Reilly book is well-written and the examples all work. While doing the exercises on a Windows Server 2012R2 VM, I hardly encountered any problems. Starting the Ubuntu VM with the <span style="font-family: "Courier New", Courier, monospace;">vagrant up</span> command and removing it with <span style="font-family: "Courier New", Courier, monospace;">vagrant destory</span>.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEnR-Ru35zOvSHi5_Dvtk26JiWPXkTeYbgivTPvPwA-A-VzcI876_aiflZlQ_46bA34PI_nX43G3pHmIMONUZcGN1KeL5Ky2P7b38kKIXW-zWItNn0eYJXC_2Uypw50ekmlDZ4lpen1mw/s1600/Vagrant-Up-and-Running.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEnR-Ru35zOvSHi5_Dvtk26JiWPXkTeYbgivTPvPwA-A-VzcI876_aiflZlQ_46bA34PI_nX43G3pHmIMONUZcGN1KeL5Ky2P7b38kKIXW-zWItNn0eYJXC_2Uypw50ekmlDZ4lpen1mw/s1600/Vagrant-Up-and-Running.jpg" height="320" width="243" /></a></div>
<br />
The Vagrant command line tool allows to create a Virtual Machine in a reproducible and neutral manner. Vagrant was initially developed around the the free VM product <a href="https://www.virtualbox.org/">Oracle VirtualBox</a>. But Vagrant now comes with many <a href="https://github.com/mitchellh/vagrant/wiki/Available-Vagrant-Plugins">other providers</a>, e.g. AWS, Rackspace, IBM SoftLayer and Microsoft Azure. Support for VMWare however is not free ($79).<br />
<br />
Vagrant focuses on the creation of Virtual Machines in a neutral manner. Contrary to Docker, it uses an actual Virtualization solution to provision the virtual machines. This allows Vagrant to support multiple Operating Systems in parallel. And offers support for automating the creation of Windows based virtual machines.<br />
<br />
When Vagrant is used in combination with Oracle VirtualBox, Vagrant will use the <span style="font-family: "Courier New",Courier,monospace;">VBoxManage.exe</span> of VirtualBox. To create machines with a cloud provider, the respective Vagrant provider will leverage the API and tools of the specific Infrastructure-As-A-Service solution. Vagrant configure all sorts of attributes of the virtual machine, incl. e.g. networking (and port forwarding).<br />
<br />
For the actual provisioning of the machines, Vagrant supports many options, including command line. But most often, Vagrant will be used in combination with Chef or Puppet. E.g. the <a href="https://downloads.chef.io/chef-dk/">Chef development kit</a> uses Vagrant as its default "driver".<br />
<br />
<span style="font-size: large;">Boxes</span><br />
Vagrant does not start from an ISO image, but from an already prepared "box". The more such box is pre-configured, the fewer configuration needs to be done afterwards. Vagrant uses its own software format to package the virtual machines that are taken as a starting point (compare to <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html">Amazon Machine Images</a>). <a href="http://www.vagrantbox.es/">Vagrantbox.es</a> and many others make pre-packaged Vagrant boxes available.<br />
<br />
<span style="font-size: large;">Windows specific</span><br />
<ul>
<li><a href="http://vagrantmanager.com/">VagrantManager</a> makes Vagrant accessible from the Windows (or iOS) Taskbar </li>
<li>The company <a href="http://modern.ie/">modern.IE</a> makes Windows boxes with all sorts of IE versions <a href="http://blog.syntaxc4.net/post/2014/09/03/windows-boxes-for-vagrant-courtesy-of-modern-ie.aspx">available</a>.</li>
<li>Interesting <a href="http://www.hurryupandwait.io/blog/in-search-of-a-light-weight-windows-vagrant-box">blog</a> on how to create Variant Windows boxes</li>
<li>Vagrant can directly access the command line of Linux boxes over SSH (secure shell). For Windows boxes this cal also be arranged wen cygwin (or other SSH server) is installed. But Vagrant can also <a href="https://www.vagrantup.com/blog/feature-preview-vagrant-1-6-windows.html">use WinRM</a> to access the Windows command line</li>
<li>Where the installation of software on Linux boxes leverages apt-get or yum to install software packages, <a href="https://chocolatey.org/">Chocolatery</a> wants to bring a similar solution to the Microsoft world; many <a href="https://chocolatey.org/packages">packages</a> are available for quick and easy installation</li>
<li><a href="http://boxstarter.org/">Boxstarter</a> leverages <a href="https://chocolatey.org/">Chocolatey</a> packages to automate the installation of software and create repeatable, scripted Windows environments.</li>
</ul>
<span style="font-size: large;">Vagrant and Integration Tools</span><br />
In my own domain of Application Integration and SOA, I expect that both vendors and customers will pickup tools such as Vagrant for creating and provisioning (virtual) machines. Combined with Chef or Puppet to actually install and configure the software on these machines.<br />
<br />
Author: Guyi8chttp://www.blogger.com/profile/05003002313779050051noreply@blogger.com0tag:blogger.com,1999:blog-8507185344691363497.post-1843328148818956812014-12-29T22:12:00.003+01:002014-12-29T22:32:36.693+01:00Devops and DockerThe holiday period between Christmas and New Year is an ideal period to catch up on some reading and experimenting. <a href="http://en.wikipedia.org/wiki/DevOps">Devops</a> and tools such as <a href="https://www.docker.com/">Docker</a>, <a href="https://www.vagrantup.com/">Vagrant</a>, <a href="https://www.chef.io/">Chef</a>, <a href="http://puppetlabs.com/">Puppet</a> and <a href="http://www.ansible.com/">Ansible</a> were on my radar for a while. So finally some time to dive into this topics.<br />
<br />
<br />
<span style="font-size: large;">Nested VMs </span><br />
Not to mess up my machine, I use VMWare workstation to spin up some test machines. As these Devops tools are all about creating and provisioning virtual machines, one must enable "<a href="https://communities.vmware.com/docs/DOC-8970">Nested VMs</a>" support. This allows one virtual machine to run in another.<span style="font-size: large;"></span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK585GTWuWb5DO_ylh3ZB92Dh_s0y0I6BqSVtOEOyekamVVAbIdq3jKizVr2Semz-48daf9S90i4ozXCqNXIesjewACI4V-j-Bxo7IzYtSRQmb-8AJBdOlDwsUBjcjXHrSHvCPDIZ2oNg/s1600/vm-in-vm.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK585GTWuWb5DO_ylh3ZB92Dh_s0y0I6BqSVtOEOyekamVVAbIdq3jKizVr2Semz-48daf9S90i4ozXCqNXIesjewACI4V-j-Bxo7IzYtSRQmb-8AJBdOlDwsUBjcjXHrSHvCPDIZ2oNg/s1600/vm-in-vm.png" height="125" width="320" /></a></div>
<br />
<span style="font-size: large;">Docker</span><br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGA9l2ayGzSwjpJbQg7YbmFsFHXVzq9iMsnAnq4-Lx2pPZMjr9GYeqouyoUjWMpud45jlhRDYCZcv_knwV1_QcokqivmOczKZIEZeuNJi9OQcM3cuwrvSheODg_ob2QrlpC9JWSB2tWaw/s1600/docker_small_h.png" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGA9l2ayGzSwjpJbQg7YbmFsFHXVzq9iMsnAnq4-Lx2pPZMjr9GYeqouyoUjWMpud45jlhRDYCZcv_knwV1_QcokqivmOczKZIEZeuNJi9OQcM3cuwrvSheODg_ob2QrlpC9JWSB2tWaw/s1600/docker_small_h.png" height="68" width="200" /></a><br />
<a href="http://en.wikipedia.org/wiki/Docker_%28software%29">Docker</a> appeared on my radar while learning about Micro Services. <a href="https://www.docker.com/">Docker </a>focuses on the creation of light-weight containers in which applications are configured in an automated manner. <br />
<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqpVs48UaJfC0kcx5NNlc9hD2g_ybyp3EcsrNktVkbrScZkIIyAG_MmNRYUzuHcnU_k6XY72rG0X82E_r3zMmJdQfSCWKnuPp6BBdyjXzKZeMKR0M8z9DTMAxsTbYHc1DgP11JOYj3GEk/s1600/Docker-Engine.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqpVs48UaJfC0kcx5NNlc9hD2g_ybyp3EcsrNktVkbrScZkIIyAG_MmNRYUzuHcnU_k6XY72rG0X82E_r3zMmJdQfSCWKnuPp6BBdyjXzKZeMKR0M8z9DTMAxsTbYHc1DgP11JOYj3GEk/s1600/Docker-Engine.png" height="158" width="200" /></a><br />
The <a href="https://linuxcontainers.org/">Linux Containers</a> are very small by leveraging OS level virtualization of Linux. Is it some "chroot on rocks". The <span style="font-family: "Courier New",Courier,monospace;"><a href="http://en.wikipedia.org/wiki/Chroot">chroot</a></span> system call on Unix/Linux changes the root directory for a program and all of its children.<span style="font-family: "Courier New",Courier,monospace;"> chroot</span> allows programs - e.g. a web server - to run in a more protected mode. The OS level virtualization can limit all the resources used by child processes: CPU, memory, disk space, ... Because containers are so light-weight, many of them can be run on a single machine. This mechanism allows each application to run in its own container, its own virtualized OS.<br />
<br />
<br />
To have a quick try of Docker, there is a great <a href="https://www.docker.com/tryit/">Online Tutorial</a> consisting of 10 steps. Recommended!<br />
<br />
<br />
As there aren't any books available on Docker, I watched the brand new <a href="http://www.informit.com/store/docker-containers-livelessons-9780134096131">training material</a> of <a href="http://www.informit.com/livelessons">LiveLessons</a>. As I couldn't find the text material, had to type over the instructions from the paused video. After wasting some time trying to get access the Fedora Atomic container on the Fedora 21 host, decided to switch to another topic, <a href="https://www.vagrantup.com/" target="_blank">Vagrant</a>. If I have some more time, I'll come back and retry with <a href="http://www.redhat.com/en/technologies/linux-platforms/enterprise-linux">RHEL</a> as used in the video training. Or switch to Windows and take a look <a href="http://boot2docker.io/">boot2docker</a>.<br />
<br />
Author: Guy
<!-- Blogger automated replacement: "https://images-blogger-opensocial.googleusercontent.com/gadgets/proxy?url=http%3A%2F%2F2.bp.blogspot.com%2F-1ep1ZnQ7J4U%2FVKFqsRuBGTI%2FAAAAAAAAAEc%2FMbzWKcDrxsc%2Fs1600%2FDocker-Engine.png&container=blogger&gadget=a&rewriteMime=image%2F*" with "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqpVs48UaJfC0kcx5NNlc9hD2g_ybyp3EcsrNktVkbrScZkIIyAG_MmNRYUzuHcnU_k6XY72rG0X82E_r3zMmJdQfSCWKnuPp6BBdyjXzKZeMKR0M8z9DTMAxsTbYHc1DgP11JOYj3GEk/s1600/Docker-Engine.png" -->i8chttp://www.blogger.com/profile/05003002313779050051noreply@blogger.com0tag:blogger.com,1999:blog-8507185344691363497.post-37291480630462892472014-12-11T14:55:00.003+01:002014-12-30T12:41:33.456+01:00Datapower XQuery replace<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<br />
<div class="MsoNormal">
<span lang="EN-US" style="mso-ansi-language: EN-US;">One of the
clients that I’m working for discovered a problem with a SOAP web service querying an <a href="http://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol" target="_blank">LDAP</a>. The
service could contain a ‘*’ in plain text in possibly different fields in the
message. When the service is called it uses the ‘*’ as a wildcard. The system
should handle the ‘*’ as plain text so we need to escape the character with ‘\2a’
(escape for a <a href="http://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol" target="_blank">LDAP</a> filter query). So they looked in complete web service chain
where the least impact was. They decided that an update in the <a href="http://www-03.ibm.com/software/products/en/ibm-datapower-gateways" target="_blank">DataPower</a> configuration
was the best option.</span><br />
<br /></div>
<div class="MsoNormal">
<span lang="EN-US" style="mso-ansi-language: EN-US;">This is a
small message example, but the ‘*’ can occur in couple different WSDL operations and in different fields.</span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"><</span><span lang="EN-US" style="background: white; color: maroon; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">soap:Envelope</span><span lang="EN-US" style="background: white; color: red; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"> xmlns:soap</span><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">="</span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">http://www.w3.org/2003/05/soap-envelope</span><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">"</span></span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span lang="EN-US" style="background: white; color: red; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"> xmlns:tem</span><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">="</span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">http://tempuri.org/</span><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">"></span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"></span></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"><</span><span lang="EN-US" style="background: white; color: maroon; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">soap:Header</span><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">/></span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"></span></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"><</span><span lang="EN-US" style="background: white; color: maroon; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">soap:Body</span><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">></span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"></span></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"><</span><span lang="EN-US" style="background: white; color: maroon; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">tem:FindUser</span><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">></span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"></span></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"><</span><span lang="EN-US" style="background: white; color: maroon; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">tem:UserName</span><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">></span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">KMe_*</span><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"></</span><span lang="EN-US" style="background: white; color: maroon; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">tem:UserName</span><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">></span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"></span></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"></</span><span lang="EN-US" style="background: white; color: maroon; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">tem:FindUser</span><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">></span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"></span></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"></</span><span lang="EN-US" style="background: white; color: maroon; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">soap:Body</span><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">></span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"></span></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"></</span><span lang="EN-US" style="background: white; color: maroon; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">soap:Envelope</span><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">></span></span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"></span></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0cm;">
<br />
I immediately thought to use the function str:replace(). But unfortunately it is not supported in Datapower, which brought me to <a href="http://en.wikipedia.org/wiki/XQuery" target="_blank">XQuery</a>, as an alternative for <a href="http://en.wikipedia.org/wiki/XSLT" target="_blank">XSLT</a>. So this is the solution that I developed.<br />
<br /></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0cm;">
<span lang="EN-US" style="mso-ansi-language: EN-US;">Because the replacement is only
necessary for 3 operations from the WSDL I defined the policy-rule on WSDL operation level.</span></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0cm;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0cm;">
<span style="mso-ansi-language: EN-GB; mso-fareast-language: EN-GB; mso-no-proof: yes;"></span><span lang="EN-US" style="mso-ansi-language: EN-US;"></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpOYbTajvU7D1jUCIrHH_9tYTYZnDxwjTiKTnEvb4NjrwuSxx3PiC-axlIN7_wq8dF4QUv37RXT71YPq9GQ1Gy0oXpELZ3zXBiYMilf00iu-Pkn5t7-v9tkruYdxOaGIyO-TmRKm4jSlI/s1600/screenshot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpOYbTajvU7D1jUCIrHH_9tYTYZnDxwjTiKTnEvb4NjrwuSxx3PiC-axlIN7_wq8dF4QUv37RXT71YPq9GQ1Gy0oXpELZ3zXBiYMilf00iu-Pkn5t7-v9tkruYdxOaGIyO-TmRKm4jSlI/s1600/screenshot.png" height="177" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://www.blogger.com/blogger.g?blogID=8507185344691363497" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"></a></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0cm;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0cm;">
<span lang="EN-US" style="mso-ansi-language: EN-US;">Below the XQuery code used to
replace the ‘*’ into ‘\2’a. The XQuery can be extended to handle other values
that need to be escaped for example:<span style="mso-spacerun: yes;"> </span>( )
\ / NUL</span></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0cm;">
<br /></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">xquery</span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"> </span><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">version</span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"> </span><span lang="EN-US" style="background: white; color: #cc6600; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">"1.0"</span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">;</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">declare</span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"> </span><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">namespace</span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"> local = </span><span lang="EN-US" style="background: white; color: #cc6600; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">"http://example.org"</span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">;</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">declare</span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"> </span><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">function</span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">
local:copy-replace(</span><span lang="EN-US" style="background: white; color: #a000a0; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">$element</span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"> </span><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">as</span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"> </span><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">element</span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">()) {</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">element</span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"> {</span><span lang="EN-US" style="background: white; color: #666600; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">node-name</span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">(</span><span lang="EN-US" style="background: white; color: #a000a0; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">$element</span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">)}</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"><span style="mso-spacerun: yes;"> </span>{</span><span lang="EN-US" style="background: white; color: #a000a0; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">$element</span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">/@*,</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">for</span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"> </span><span lang="EN-US" style="background: white; color: #a000a0; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">$child</span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"> </span><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">in</span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"> </span><span lang="EN-US" style="background: white; color: #a000a0; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">$element</span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">/</span><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">node</span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">()</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">return</span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"> </span><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">if</span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"> (</span><span lang="EN-US" style="background: white; color: #a000a0; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">$child</span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"> </span><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">instance</span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"> </span><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">of</span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"> </span><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">element</span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">())</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">then</span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">
local:copy-replace(</span><span lang="EN-US" style="background: white; color: #a000a0; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">$child</span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">)</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="background: white; color: blue; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">else</span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;"> </span><span lang="EN-US" style="background: white; color: #666600; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">replace</span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">(</span><span lang="EN-US" style="background: white; color: #a000a0; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">$child</span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">,</span><span lang="EN-US" style="background: white; color: #cc6600; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">'\*'</span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">,</span><span lang="EN-US" style="background: white; color: #cc6600; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">'\\2a'</span><span lang="EN-US" style="background: white; color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-highlight: white;">)</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span lang="EN-US" style="background: white; color: black; font-family: Courier New, Courier, monospace; font-size: xx-small; mso-ansi-language: EN-US; mso-highlight: white;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span lang="EN-US" style="background: white; color: black; font-family: Courier New, Courier, monospace; font-size: xx-small; mso-ansi-language: EN-US; mso-highlight: white;">};</span></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0cm;">
<span lang="EN-US" style="background: white; color: black; font-family: Courier New, Courier, monospace; font-size: xx-small; line-height: 107%; mso-ansi-language: EN-US; mso-highlight: white;">local:copy-replace(/*)</span><span lang="EN-US" style="color: black; font-family: "Arial","sans-serif"; font-size: 10.0pt; line-height: 107%; mso-ansi-language: EN-US;"></span></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0cm;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0cm;">
<span lang="EN-US" style="mso-ansi-language: EN-US;">The total number of requests that have a ‘*’
or other wildcards in the username is limited. To improve the
performance I adapted the standard SQL-injection filter to search for ‘*’ and
output the number of hits. This way when the hit count is 0 I can skip the
XQuery transform action.</span></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0cm;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0cm;">
<span lang="EN-US" style="mso-ansi-language: EN-US;">Author: Kim</span></div>
<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
</o:OfficeDocumentSettings>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves>false</w:TrackMoves>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>NL-BE</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin-top:0cm;
mso-para-margin-right:0cm;
mso-para-margin-bottom:8.0pt;
mso-para-margin-left:0cm;
line-height:107%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-ansi-language:NL-BE;
mso-fareast-language:EN-US;}
</style>
<![endif]-->i8chttp://www.blogger.com/profile/05003002313779050051noreply@blogger.com0tag:blogger.com,1999:blog-8507185344691363497.post-45726191953477771252014-11-27T14:39:00.000+01:002014-12-30T12:42:01.437+01:00SAP PI to Oracle with batch insert - Improved performance<div class="MsoNormal">
<span lang="EN-GB">We were
implementing a bulk-data transfer from SAP into an Oracle database. Easily
upwards of 15 000 materials were being uploaded to the database via a
stored procedure (company policy). Normally we like this approach because it
decouples PI from the database’s underlying table structure, but we were
getting terrible performance.<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-GB"><br /></span></div>
<div class="MsoNormal">
<span lang="EN-GB">In testing,
the entire workflow took almost 2 hours. Whilst this in itself wasn’t an issue
(the process runs in the middle of the night), it was unnecessary load on both
systems, and the extended duration put the process at increased risk of failure
(e.g. due to network issues).<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-GB"><br /></span></div>
<div class="MsoNormal">
<span lang="EN-GB">Keen to
improve this, we looked at PI’s “batch insert” capabilities. In order to
maintain the decoupling, and in order to protect the destination tables, we
created an interface table to temporarily contain the material data, and a
procedure that safely updated the destination table.<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-GB"><br /></span></div>
<br />
<div class="MsoNormal">
<span lang="EN-GB">Testing
showed a 30-to-60-fold performance improvement during the PI-DB exchange, and
the entire process ended up taking just 10 minutes.<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-GB"><br /></span></div>
<div class="MsoNormal">
<span lang="EN-GB">Author: Edwin</span></div>
i8chttp://www.blogger.com/profile/05003002313779050051noreply@blogger.com0tag:blogger.com,1999:blog-8507185344691363497.post-45513377362598926682014-11-20T11:51:00.000+01:002014-11-20T11:51:00.818+01:00ESB = Erroneous Spaghetti Box?While re-reading the <a href="http://martinfowler.com/articles/microservices.html">Microservices article</a> by Martin Fowler, I was triggered by the following footnote #7: <i>We can't resist mentioning Jim Webber's statement that ESB
stands for <a href="http://www.infoq.com/presentations/soa-without-esb">"Egregious
Spaghetti Box"</a>. </i>I viewed the presentation - from 2008 -
in which Jim Webber and Martin Fowler bash the Enterprise Service Bus
and translate the acronym ESB into Erroneous Spaghetti Box.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.slideshare.net/deimos/jim-webber-martin-fowler-does-my-bus-look-big-in-this"><img alt="http://www.slideshare.net/deimos/jim-webber-martin-fowler-does-my-bus-look-big-in-this" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOXQaiXfNEZXwylKdLV1m_L5izOs-uni_qEz4YaOmd4SBj-eyId4EgLY8gELXLbvXKoWlyIVzm2QHsGFOzpDm-5uxAOxiQuu5cfwWGAxdbHkLY_SmmZMMa7AqXe9MTHRVpHydWeV8Ua4I/s1600/jim-webber-martin-fowler-does-my-bus-look-big-in-this-20-728.jpg" height="282" width="400" /><span id="goog_870972072"></span></a><span id="goog_870972073"></span></div>
<br />
I
do agree that often, the integration platform simply contains a
spaghetti of point-2-point integrations. But that's good! Way better
than all that integration logic dispersed over many systems. With a wide
variety of integration techniques, protocols and message formats. And
spaghetti in a box is exactly what I tell when <a href="http://www.sai.be/content/integratie-van-eai-over-soa-tot-cloud">explaining</a>
what an integration platform is. Only by taking the next step of
careful service and message design, one can arrive at a true Service
Oriented Architecture.<br />
<br />
Let's sum up the main advantages of an integration platform:<br />
<ul>
<li>A standardized way to have applications talk to one another</li>
<li>No coding in a 3GL such as Java or C# but configuration in an
application specifically built for the task of integrating systems </li>
<li>Support for applications of different kinds and ages, including packaged applications </li>
<li>Strongly reduced diversity in the tools and techniques used to integrate applications</li>
<li>Support for reliable, asynchronous communication using queuing and
message persistence (which Fowler doesn't seem to like either)</li>
<li>Trivial connectivity through adapters</li>
<li>Central place to monitor and manage the communication between systems, in particular the reliable message exchange</li>
<li>Help turn packaged or older applications into services if desired (not everything is developed in-house)</li>
</ul>
With the disadvantages:<br />
<ul>
<li>That it is a central, separate platform,</li>
<li>Requiring some specific skills (XML)</li>
<li>The cost of the integration development and support becoming truly visible.</li>
</ul>
Where Webber and Fowler do have a point, is that middleware
vendors come with a whole slew of products. Obviously one should only
pick the parts that are useful. And the ESB will definitely not create
the Service Oriented Architecture for you.<br />
<br />
Author: Guyi8chttp://www.blogger.com/profile/05003002313779050051noreply@blogger.com0tag:blogger.com,1999:blog-8507185344691363497.post-59166716051902795592014-11-13T11:50:00.000+01:002014-11-13T11:50:00.287+01:00Micro Services - Conway Law and Application Integration teams"Micro Services" is a new buzzword in world of IT architects. As it talks about application components communicating over a network and contains "services", it probably has something to do with SOA and integration. So I had to look into it.<br />
<br />
<br />
Let's bulletize the description from the article by Martin Fowler and James Lewis:<br />
<ul>
<li>The Microservices architectural style is an approach
to </li>
<li>developing a single application<span style="color: blue;"> <span style="font-size: small;"><i>< application architecture</i></span></span></li>
<li>as a suite of small services, <span style="color: blue;"><span style="font-size: small;"><i>< componentization, no libraries</i></span></span></li>
<li>each (service) running in its own process</li>
<li style="text-align: justify;">and communicating with lightweight
mechanisms, <span style="color: blue;"><span style="font-size: small;">< <i>over the network</i></span></span></li>
<li>often an HTTP resource API. <i><span style="color: blue;">< REST, message bus</span></i><span style="font-size: small;"><span style="background-color: blue;"><i><span style="background-color: white;"></span></i></span></span></li>
<li>These services are built
around business capabilities <span style="font-size: small;"><span style="color: blue;"><i>< Domain Driven Design</i></span></span></li>
<li>and independently deployable by fully
automated deployment machinery.</li>
<li>There is a bare minimum of
centralized management of these services, </li>
<li>which may be written in
different programming languages and</li>
<li>use different data storage
technologies <span style="font-size: small;"><span style="color: blue;"><i>< eventual consistency</i></span></span></li>
</ul>
Microservices are an architecture used by very large, modern IT
systems such as LinkedIn, Netflix, Amazon and eBay. There's all sorts of
interesting aspects to Micro Services, e.g. the GUI part, security,
transactional integrity, versioning etc.<br />
<br />
<b>Conway law - Integration Competence Center</b><br />
But there was one aspect that triggered me in particular when learning about Microservices: <a href="http://en.wikipedia.org/wiki/Conway%27s_law">Conway Law</a>: "any organization that designs a system (defined broadly)
will produce a design whose structure is a copy of the
organization's communication structure".<br />
<br />
So this law states that an application architecture will reflect the way an IT department is organized. Microservices advocates refer a lot to it. <br />
<span id="goog_870972137"></span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td><a href="https://www.blogger.com/goog_870972136" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="http://martinfowler.com/articles/microservices/images/conways-law.png" height="264" width="320" /></a></td></tr>
<tr><td class="tr-caption">Service
boundaries reinforced by team boundaries (picture from <a href="http://martinfowler.com/articles/microservices.html">article</a> by Martin Fowler)</td></tr>
</tbody></table>
<span id="goog_870972138"></span> <br />
<br />
For
Microservices to focus and align with business functionality, the teams
developing (and maintaining) the Microservices should therefore be
cross-functional,
including the full range of skills required for the
development: user-experience, database, and project
management.<br />
<br />
Orthogonal to the view of the
Microservices architects, that Conway Law confirms my personal view and
opinion that any IT organization that wishes to leverage a central
integration platform to a great extent, requires a separate team
developing on and managing that integration platform.<br />
<br />
<br />
<b>How did I learn about MicroServices?</b><br />
<ul><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioi5B9p5BRbkElJnyQS_uOgZ_taU53edAxJLNh_ycPNOAWtXeOj51pawZn7gML9HFqxBdIxJzKSdrBDG7uVYXlUD2dwMq9GPls-w1D5743ebql7DI1xe32niLngL8L6z2ynd4B5Y1lIHo/s1600/BuildingMicroservices.jpg" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioi5B9p5BRbkElJnyQS_uOgZ_taU53edAxJLNh_ycPNOAWtXeOj51pawZn7gML9HFqxBdIxJzKSdrBDG7uVYXlUD2dwMq9GPls-w1D5743ebql7DI1xe32niLngL8L6z2ynd4B5Y1lIHo/s1600/BuildingMicroservices.jpg" height="320" width="243" /></a>
<li>The <a href="http://martinfowler.com/articles/microservices.html">Microservices</a> article by Martin Fowler and James Lewis</li>
<li>Rough cut version of the O'Reilly book "<a href="http://shop.oreilly.com/product/0636920033158.do">Building Microservices</a>" by Sam Newman </li>
<li>Software Engineering Radio <a href="http://www.se-radio.net/2014/09/episode-210-stefan-tilkov-on-architecture-and-micro-services/">podcast</a> episode with <a href="https://www.innoq.com/blog/st/">Stefan Tilkov</a></li>
<li>Software Engineering Radio <a href="http://www.se-radio.net/2014/10/episode-213-james-lewis-on-microservices/">podcast</a> with James Lewis</li>
<li><a href="http://www.sai.be/content/micro-service-architecture-documentatie">SAI evening session</a> I attended with great <a href="http://www.slideshare.net/aca_it/micro-services-40695502">presentation</a> by Stijn van den Enden and colleagues</li>
</ul>
<br />
PS: when searching for the term "micro service", I
found the term also in the book "Java Web Services Architecture" back
from 2003!<br />
<br />
Author: Guyi8chttp://www.blogger.com/profile/05003002313779050051noreply@blogger.com0tag:blogger.com,1999:blog-8507185344691363497.post-68860447320100426922014-11-06T10:08:00.000+01:002014-11-06T10:08:14.108+01:00Message modeling and XSD generationAs an
integration consultant I work almost daily with XML messages. In my opinion in
order to work efficiently with XML you need to have XML schemas. XML schemas
makes it possible to validate your messages (including those hard to find
typo’s in mappings), they can be used to generate documentation, they define
your service contracts and can be used to generate a skeleton of your code. if and when
validation should be enabled is a different discussion. Perhaps in the future I
will write another article about it.<br />
<div class="MsoNormal">
<span lang="EN-US"><br /></span></div>
<div class="MsoNormal">
<span lang="EN-US">In order to
benefit from XML schemas they need to be clear, precise, flexible and
interoperable with the different technologies you are going to use on your
project. Amongst us colleagues we regularly have lively discussions on how to
achieve this. We all have the same ideas on the general guidelines but sometime
we disagree about some details. Mostly it boils down to the choice of
technology we are used of working with. But I am relatively sure I can work
with the schemas created by my peers. <o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-US"><br /></span></div>
<div class="MsoNormal">
<span lang="EN-US">One major
downside of XML schemas is that it is very technical and functional analyst
don’t always understand it very well and why should they? They want to model
the messages in their favorite modelling tool. In the perfect world you can
generate the XSD’s from the model. This way you can enforce the policy you have
defined to which the XSD’s should conform.</span></div>
<div class="MsoNormal">
<span lang="EN-US"><br /></span></div>
<div class="MsoNormal">
<span lang="EN-US">So what is
wrong with this? Nothing! I even encourage you to do it. If it is done
correctly and you keep in mind that in the end a developer has to import the
XSD’s in his tool and work with them. <o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-US"><br /></span></div>
<div class="MsoNormal">
<span lang="EN-US">On a recent
project I had to import an XSD from a third party in order to interact with them. In their documentation they were very proud of their UML model and
how clever they were modelling there data. With the generated XSD they were less
concerned. From what the XSD should be: simple, flexible, easy to understand …
nothing was achieved. I spend 2 days trying to import them in my tool (IBM
Integration Toolkit). In the end I gave up as I could no longer justify the
time spent to my client. I wrote my own
(very simple) XSD’s that conform to the messages we need to send and receive
and used those within our tools. <o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-US"><br /></span></div>
<div class="MsoNormal">
<span lang="EN-US">For those
thinking: then don’t use IBM Integration toolkit. I have quite some experience
with IBM tooling and in my career I never before had so much problems importing
XSD’s. I find the XML support of IBM tools excellent. We tried to import the
XSD’s in different tools and they all failed. <o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-US"><br /></span></div>
<div class="MsoNormal">
<span lang="EN-US">So to
conclude I want to give you some advice:<o:p></o:p></span></div>
<div class="MsoListParagraphCxSpFirst" style="margin-left: 38.25pt; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -18.0pt;">
<br />
<ul>
<li><span lang="EN-US">Pay
attention to your XML Schemas</span></li>
<li><span lang="EN-US">Define
guidelines/rules to which you XML schemas should adhere within your
organization</span></li>
<li><span lang="EN-US">For
a public interface make sure the XML schema does not use too advanced schema features (<a href="http://www.unece.org/fileadmin/DAM/cefact/xml/UNCEFACT+XML+NDR+V3p0.pdf" target="_blank">UN/CEFACT Naming and Design Rules</a> may help you there)</span></li>
<li><span lang="EN-US">Model
your data and generate the XML Schemas from the (UML) model but let your developers
validate the generated XSD’s</span></li>
</ul>
<!--[if !supportLists]--></div>
<h3 style="text-align: center;">
<span lang="EN-US">XML Schemas
should be an aid not a burden ! Keep it Simple !</span></h3>
<div style="text-align: right;">
<div style="text-align: left;">
Author: Jef Jansen</div>
</div>
i8chttp://www.blogger.com/profile/05003002313779050051noreply@blogger.com0tag:blogger.com,1999:blog-8507185344691363497.post-25653106884600459062014-10-30T22:33:00.000+01:002014-10-30T22:33:19.042+01:00Websphere Technical University Düsseldorf 2014 - Part 2<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">I started day 2 of the WTU conference with a session from Michael Hamann about some of the new features in </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">IBM Websphere Datapower (V7) </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">concerning the Datapower Policy Framework and Service Patterns. </span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">The</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"> Datapower policy framework</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"> is managed on Websphere Service Registry and Repository and enforced on Datapower. This setup isn’t new, but already exists since Datapower firmware version 5.0.0. What’s new since version 7 is the possibility to use variables in the policy-config, this feature is called dynamic policy variability. </span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Another new feature in V7 is </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">Service Patterns</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">, these are templates that you can create from existing services in a new GUI, the Blueprint Console. </span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">I experienced myself that many of our customers already created their own scripts to work with some sort of templates for the common integration scenarios, so the use of service patterns will be great for them. They will have a supported way of working that brings more features than what they have right now.</span></div>
<br />
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Of course not all sessions that I attended involve my working terrain, but there were still some interesting things that caught my attention:</span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"><img alt="Embedded image permalink" height="468px;" src="https://lh3.googleusercontent.com/oqlKtJyrN54gnuG9kGss6U_lpJmqjDiD6v0nMrKO0cVkbOGHLBJdd8xaWCZhklo-ve6gQNxuZXkTrg3JSFT0z8z5rATxd4uGvgy_szHGtSVd4isbOZc3-fdBHJnmrjhVpg" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="624px;" /></span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">(Photo: Twitter @bluemonki)</span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">In the session about </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">Cloud Integration</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"> by John Hosie, he mentioned </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">‘Chef’</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">, which is a tool to automate the setup and maintenance of your infrastructure in the cloud. Check </span><a href="https://www.getchef.com/chef/" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline;">https://www.getchef.com/chef/</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"> if you want to know more.</span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Of course something that came up in half of the sessions I attended is IBM’s answer to Platform as a Service (PaaS): </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">Bluemix</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">. One of the more impressive examples came from the same ‘Cloud Integration’ session. After syncing your local database with a cloud DB in Bluemix you can generate REST-API’s to retrieve the data you want to expose in just a few clicks.</span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Another hot topic on the conference was discussed by </span><a href="https://twitter.com/bkufluk" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline;">Bernard Kufluk</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"> and</span><a href="https://twitter.com/bryanboyd" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline;"> Bryan Boyd</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"> in their presentation about the</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"> Internet of Things</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"> (previously known as Smarter Planet). He gave us a glimpse of what the future might look like when all of our stuff is connected to the internet using the MQTT protocol. In contrast to most of the existing applications that nowadays use HTTP to send data to the server, MQTT makes it possible to send commands from the server to the client application (for example to stop a car remotely as shown in the demo). The appliance to take care of all this MQTT traffic is IBM MessageSight. My first impression is that this appliance is for bidirectional MQTT traffic what Datapower is for HTTP traffic.</span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">The session about </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">Blueworks Live </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">from Roland Peisl presented another product that I likely won’t be working with in the near future, but nevertheless it was interesting to see how the product evolved since the last time I used it, back in the days when it was called Lombardi Blueprint. While obviously a lot has changed since then, the conclusion remains the same: it’s a great tool for the business to help them with process discovery sessions. If you’re looking for a tool that supports a full business process round-trip, you should rather use Business Process Manager.</span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"><img height="381px;" src="https://lh3.googleusercontent.com/B2JFr-DQcQlMydikfgCgy84U72fRiM4ZygTzRpEMM9LGgqTlWJULjsOHPwVM-7ZH9ktoxVPbHyBmxeG-Oue_dovUSUNZiFZprX5yDjpR8mj4Gwtb5SZwmefwFKtJ1B4C-Q" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="624px;" /></span></div>
<br />
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Author: Tim</span></div>
<br />
<br />i8chttp://www.blogger.com/profile/05003002313779050051noreply@blogger.com0tag:blogger.com,1999:blog-8507185344691363497.post-49963713019797401962014-10-29T10:26:00.000+01:002014-10-30T20:16:38.331+01:00Websphere Technical University Düsseldorf 2014 - First impressions<div dir="ltr" id="docs-internal-guid-77b95a5c-5b33-1091-6f24-dab61c492932" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">Impressions of the first day of the Websphere Technical University 2014 in Düsseldorf</span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">The Websphere Technical University and Digital Experience conference is held in Düsseldorf from the 28th of october till the 31st. With over 16 rooms for each timeslot there is something to each person’s liking. My main interest for this conference is the integration track and even though this limits the immense choice of presentations, there are still some hard choices to be made. </span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">For this first day I started the day with the general opening session. This featured a great demo that showed the power of Bluemix. </span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"><img alt="Embedded image permalink" height="450px;" src="https://lh4.googleusercontent.com/_vKvSbcKyW3_BVb68Wfxgak6X1K0aNjxv5bYKUwp62QGnNaVsRz-Hdqn6QQ7YNQ__NY_SkVNNky_TwCM3XXNiDnSbQr7XwR-cIk70nr6PM4Xyag3YfneVPQeEzSZi7fvlg" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="600px;" /></span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">(Photo: Twitter <a href="http://twitter.com/reynoutvab" target="_blank">@reynoutvab</a>)</span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">In the afternoon the conference really started for me with a presentation about the trends and directions of the</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"> IBM Integration Bus</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">. Speaker Jens Diedrichsen (</span><a href="https://twitter.com/JensDiedrichsen" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline;">@</span><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: underline; vertical-align: baseline;">JensDiedrichsen</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">) introduced us the new features that will be present in IIB V 10.0 </span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"><img alt="Embedded image permalink" height="450px;" src="https://lh6.googleusercontent.com/AcsSpVgHfBuTEe6_jLBFENZf52jSh4kxftP6keXiBrdwWm0XF75R7aN5x3Wv3-CpXtc55_y7cDbuZZ2v_rYJwytCIrdlQq96g8ZB_eWLVi3IwMcqzesCLEZM9r10Ve-Jzg" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="600px;" /></span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">(Photo: Twitter <a href="http://twitter.com/bluemonki" target="_blank">@bluemonki</a>)</span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Personal highlights for me were:</span></div>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">smaller install base (download size < 1GB)</span></div>
</li>
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">MQ is no longer a prerequisite. Not all IIB options will work without MQ yet, but in the future this is the goal.</span></div>
</li>
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Unit testing is improved with a built-in testservice and CI capabilities</span></div>
</li>
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Github will be provide extra samples, best practices and also connectors.</span></div>
</li>
</ul>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">The IIB V10.0 Open Beta is now available at </span><a href="http://ibm.biz/iibopenbeta" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline;">http://ibm.biz/iibopenbeta</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"> to discover all the new features yourself. </span></div>
<br />
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">The following interesting session that I attended was the presentation by Klaus Bonnert about </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">API management</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">. In an existing Datapower environment, the API-management software can add some useful advantages without having to rewrite your API’s:</span></div>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Analytics view</span></div>
</li>
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">API manager can become your single console for all deployments</span></div>
</li>
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Self service for user creation</span></div>
</li>
</ul>
<br />
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">DFDL</span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">My last session for the day was the session about DFDL (Data Format Description Language) by Alex Wood. Despite being present in MessageBroker since V8, I never really looked at it until now. Much like XSD is for XML, DFDL is a way to describe flatfile and binary data. It is a standard owned by OGF (</span><a href="https://www.ogf.org/" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline;">https://www.ogf.org</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">) and is the way to go for those who want to be able to validate or serialize general text and binary data format.</span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Some of the features of DFDL:</span></div>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">based on XML-schema (DFDL schema is valid xml)</span></div>
</li>
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">human readable</span></div>
</li>
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">high performance, since you can choose the data format that suits you best</span></div>
</li>
</ul>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">github for many existing schemas that describe file formats like EDIFACT</span></div>
</li>
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<a href="https://lh4.googleusercontent.com/o6agVybXPBEGJLBmLsTKdamxHxiSOZQEYi2HY-cFE4F3b9V2FsNNubpYwcpgy2dxQ0IkoTs0VtRaDqVV3qE7OkTJF-tW5S0oUsZXUZY1yPU2oJZoFVBa6MiFEE1UVrXO3w" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">currently used by message broker / IIB, rational, Master Data Mgmt</span></div>
</li>
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">IBM DFDL also available as an embeddable component (latest release V1.1.1)</span></div>
</li>
</ul>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; clear: left; color: black; float: left; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; margin-bottom: 1em; margin-right: 1em; text-decoration: none; vertical-align: baseline;"></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://lh4.googleusercontent.com/o6agVybXPBEGJLBmLsTKdamxHxiSOZQEYi2HY-cFE4F3b9V2FsNNubpYwcpgy2dxQ0IkoTs0VtRaDqVV3qE7OkTJF-tW5S0oUsZXUZY1yPU2oJZoFVBa6MiFEE1UVrXO3w" style="margin-left: 1em; margin-right: 1em;"><img alt="Embedded image permalink" border="0" height="400" src="https://lh4.googleusercontent.com/o6agVybXPBEGJLBmLsTKdamxHxiSOZQEYi2HY-cFE4F3b9V2FsNNubpYwcpgy2dxQ0IkoTs0VtRaDqVV3qE7OkTJF-tW5S0oUsZXUZY1yPU2oJZoFVBa6MiFEE1UVrXO3w" style="border: medium none; transform: rotate(0rad);" width="240" /></a></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"><a href="https://lh4.googleusercontent.com/o6agVybXPBEGJLBmLsTKdamxHxiSOZQEYi2HY-cFE4F3b9V2FsNNubpYwcpgy2dxQ0IkoTs0VtRaDqVV3qE7OkTJF-tW5S0oUsZXUZY1yPU2oJZoFVBa6MiFEE1UVrXO3w" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"></a> </span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">(Photo Twitter <a href="http://twitter.com/hosie31504" target="_blank">@hosie31504</a>)</span><br />
<br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"><span lang="EN-US">Author: Tim</span> </span></div>
i8chttp://www.blogger.com/profile/05003002313779050051noreply@blogger.com0tag:blogger.com,1999:blog-8507185344691363497.post-28630926202788602982014-10-18T11:33:00.000+02:002014-10-18T11:33:42.528+02:00webMethods Integration Server StatsViewer<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span lang="EN-US">When
running a lot of assets or a small footprint, memory consumption becomes a
problem. Luckily the webMethods IS logs the memory usage in the stats logs (for those that
don't have more advanced monitoring like jmx). However these log files contain
the usage as hex values. This doesn't make it easy for browsing through the
logs.<o:p></o:p></span></div>
<br />
<div class="MsoNormal">
<span lang="EN-US">Excel can
come in handy, but it is cumbersome to provide functions for conversion for
every file you open. I remembered that their used to be a utility on wmusers to
view the log files graphically and I was able to find the <a href="http://tech.forums.softwareag.com/techjforum/posts/list/34948.page">thread</a>
on the <a href="http://techcommunity.softwareag.com/">techcommunity</a>...unfortunately
without the source. I eventually did find the <a href="http://techcommunity.softwareag.com/ecosystem/communities/codesamples/webmethods/esb/SAMPLE-20130304115622257.html">utility</a>
on the site, but it just feels outdated. As this use case was fairly simple, I
started looking around the web and found a great javascript library to create
graphs, namely <a href="http://www.chartjs.org/">chart.js</a>. After a few
lines of code (thanks to HTML5) I already had my first view of some
stats...great! After some tweaking I now have a quite stable tool to read stats
files.</span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_NYo8CrDg4kM6BMQeJv_HmEJi2niDsKWw0UTAqcGrhMUUgD7tDXnBKcfGRdDZ-FvNeMYabAcEFAyc6rsixAHZUgd4XQkDAilIWPzhjwa2pzinvaen8SdPZ_i-Jm2gRgQletNSCVPre4M/s1600/statsviewer.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_NYo8CrDg4kM6BMQeJv_HmEJi2niDsKWw0UTAqcGrhMUUgD7tDXnBKcfGRdDZ-FvNeMYabAcEFAyc6rsixAHZUgd4XQkDAilIWPzhjwa2pzinvaen8SdPZ_i-Jm2gRgQletNSCVPre4M/s1600/statsviewer.png" height="177" width="400" /></a></div>
<div class="MsoNormal">
<span lang="EN-US"><br /></span></div>
<div class="MsoNormal">
<span lang="EN-US">You can find the sources <a href="https://drive.google.com/#folders/0B9yIgxv3SNZkZWs4RGFqTlNtZVE" target="_blank">here</a>. For now it only parses the memory and
threads (on a scale to 1000), but you can easily extend it so hopefully it will come in handy for you.<o:p></o:p></span><br />
<span lang="EN-US"><br /></span>
<span lang="EN-US">Author: Stefan</span></div>
<div class="MsoNormal">
<span lang="EN-US"><br /></span></div>
i8chttp://www.blogger.com/profile/05003002313779050051noreply@blogger.com2tag:blogger.com,1999:blog-8507185344691363497.post-81947358413814808012014-09-27T16:20:00.000+02:002014-09-27T16:20:55.054+02:00Building blocks for government information exchangeLast Monday I taught the <a href="http://www.sai.be/content/integratie-van-eai-over-soa-tot-cloud">SAI workshop</a> "Integratie: van EAI over SOA tot Cloud". I explained that there are many technical web services standards (WS-*). But that there is little attention from software vendors for the standardization of the functional side of web services. There are few standard XML schema building blocks to assemble the message exchanged via web services. XML building blocks are rather coming from B2B standards such as <a href="http://oagi.org/">OAG</a>, <a href="http://www.gs1.org/ecom/xml">GS1</a> or <a href="https://www.ubl.org/">UBL</a>.<br />
<br />
<br />
A workshop participant from the Flemish Government pointed me to the <a href="http://purl.org/oslo/specification">OSLO specification</a> (in Dutch) they have created. Very interesting initiative where the Flemish government standardizes the building blocks for services. Allowing different government entities to exchange information: municipalities, Flemish government agencies and the Belgian federal departments.<br />
<br />
In the introduction of the document, they well explain that web services focus on the standardisation of the box, but not on the nuts and bolts in the box. ("<em>Het lijkt alsof je wel de dozen standaardiseert, maar niet de bouten en moeren die er in zitten</em>").<br />
<br />
<br />
To be fair, the OSLO spec doesn't go down to the actual service definitions either. It focuses on the definition of information blocks that can be assembled and used in (web) services. The spec. focuses on both XML/XSD and <a href="http://www.w3.org/RDF/">RDF</a>. The <a href="https://joinup.ec.europa.eu/catalogue/distribution/oslo-xml-schema-v10">XML schemas</a> build further upon XML building blocks from UN/CEFACT and UBL<br />
<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpq5FFZwz8Pil7GImoyaaeBb2Ey-rg-if5Ce0J0uf55qQaGM-ZRVzoWoWKanJjsXJOLGGoZIjEvUzDiqas4R3hF-jxdVmHIJYloCS6BYE1PruY_eZLBbs8zbhQnRQ0v3ntnczMezb306g/s1600/eu_isa.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpq5FFZwz8Pil7GImoyaaeBb2Ey-rg-if5Ce0J0uf55qQaGM-ZRVzoWoWKanJjsXJOLGGoZIjEvUzDiqas4R3hF-jxdVmHIJYloCS6BYE1PruY_eZLBbs8zbhQnRQ0v3ntnczMezb306g/s1600/eu_isa.jpg" /></a>The workshop participant also explained me that the OSLO specification is strongly related to the <a href="http://ec.europa.eu/isa/">ISA</a> initiative of the European Union. "<em>ISA is a program launched by the European Commission to improve electronic cooperation among public administrations in EU Member States</em>". OSLO builds further upon the <a href="https://joinup.ec.europa.eu/asset/core_vocabularies/asset_release/core-vocabularies-v11#download">work</a> of ISA.<br />
<br />
<br />
Had never heard of the OSLO initiative nor the ISA program (while colleagues from <a href="http://www.infront.be/">Infront</a> are actually involved). But that's the fun part of teaching, you learn so much.<br />
<br />
Author: Guyi8chttp://www.blogger.com/profile/05003002313779050051noreply@blogger.com0tag:blogger.com,1999:blog-8507185344691363497.post-77106469360330480692014-09-11T11:33:00.000+02:002014-09-11T11:33:00.023+02:00Great IBM BPM book: Kolban on IBPM<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiS5c-KaJGKVjhM-JI__o9CDD-UYS4u2X1oCwD5l4jHoy2Ykr0crdChS7IvhlRQ2ztAyQj68UMZZxnitbIpRnHissUneKLR23Dyh8QzKumo0tmZg8F-zKJT2RyFsXSN4Xh-AmC1CKe-zc/s1600/Kolban_IBPM_Book.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiS5c-KaJGKVjhM-JI__o9CDD-UYS4u2X1oCwD5l4jHoy2Ykr0crdChS7IvhlRQ2ztAyQj68UMZZxnitbIpRnHissUneKLR23Dyh8QzKumo0tmZg8F-zKJT2RyFsXSN4Xh-AmC1CKe-zc/s1600/Kolban_IBPM_Book.png" /></a>IBM publishes loads of free <a href="http://www.redbooks.ibm.com/" target="_blank">Redbooks</a>. But for the <a href="http://www-03.ibm.com/software/products/en/category/BPM-SOFTWARE" target="_blank">IBM BPM</a> solution, there is another great - and free - source of information. <a href="http://www.i8c.be/" target="_blank">i8c</a> colleague Jef pointed me to the <a href="http://neilkolban.com/ibm/" target="_blank">free book</a> of Neil Kolban. Neil Kolban is an IBM employee who gathers all there is to know about IBM BPM and publishes in a This free book is really a great source of information about the IBM BPM offering ("IBPM").</div>
<div class="separator" style="clear: both; text-align: left;">
Author: Guy</div>
<div class="" style="clear: both; text-align: left;">
<a href="http://www-304.ibm.com/services/learning/ites.wss/zz/en?pageType=page&c=J694852K90676C06" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;" target="_blank"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhupK_FhbwnUfP45EH9Gh6P0DtxsRdHQUHPlgw45U4J8-9DHFxfUU33bws09JrGBerxyirhyL0zU7BLh6gyXUNLmpBhmbO1sGFzrvX6wfMbtcEmO9pd3SnUh4gWNqU7UnBPZSaKx9YJM88/s1600/IBM_WebSphere_Technical_University_2014.jpg" height="61" width="320" /></a>PS: If interested in BPM and other technologies from IBM, we can strongly recommend the <a href="http://www-304.ibm.com/services/learning/ites.wss/zz/en?pageType=page&c=J694852K90676C06" target="_blank">IBM WebSphere Technical University</a>; Tim and Wim from our IBM team will be attending<span id="goog_1013710625"></span><span id="goog_1013710626"></span><a href="https://www.blogger.com/"></a></div>
<br />
<br />
<!-- Blogger automated replacement: "https://images-blogger-opensocial.googleusercontent.com/gadgets/proxy?url=http%3A%2F%2F3.bp.blogspot.com%2F-9ksco7OXkWw%2FVArTlhyjkjI%2FAAAAAAAAAb0%2Fi77zy9xDw7I%2Fs1600%2FKolban_IBPM_Book.png&container=blogger&gadget=a&rewriteMime=image%2F*" with "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiS5c-KaJGKVjhM-JI__o9CDD-UYS4u2X1oCwD5l4jHoy2Ykr0crdChS7IvhlRQ2ztAyQj68UMZZxnitbIpRnHissUneKLR23Dyh8QzKumo0tmZg8F-zKJT2RyFsXSN4Xh-AmC1CKe-zc/s1600/Kolban_IBPM_Book.png" -->i8chttp://www.blogger.com/profile/05003002313779050051noreply@blogger.com0tag:blogger.com,1999:blog-8507185344691363497.post-33411253821339151912014-09-06T11:22:00.001+02:002014-09-06T11:22:22.928+02:00BPMN reading material<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEig5OXPfg9RSz7rd0RCqWD0CjINB6ggSN2UHJBcWJnyQWa7TUOFyvn0a2m8WU61ePadwPmmKKrYwdAtM1t8uSQvLqnzRJYOLkVzMdyYCFqCR6khm0oUdQgPp4qVLxO34HdZL_WbLiP6ByM/s1600/Real-Life_BPMN.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEig5OXPfg9RSz7rd0RCqWD0CjINB6ggSN2UHJBcWJnyQWa7TUOFyvn0a2m8WU61ePadwPmmKKrYwdAtM1t8uSQvLqnzRJYOLkVzMdyYCFqCR6khm0oUdQgPp4qVLxO34HdZL_WbLiP6ByM/s1600/Real-Life_BPMN.jpg" height="200" width="138" /></a>As an IT consultant, one spends quite some time getting to and from your project locations. Lately I've been spending quite some time on the train. Ideal moment to refresh my BPMN knowledge. I picked the book "Real-Life BPMN" on Amazon Kindle. The authors - Jakob Freund and Bernd Rücker - both work for the German company<a href="http://camunda.com/" target="_blank"> Camunda</a>, specializing in BPM(N) consulting and open source <a href="http://camunda.org/" target="_blank">BPM engine</a>.<br />
<br />
The book is quite OK and shows lots of small examples to get acquainted with the BPMN notation. It is It start with a level 1 view on processes where a subset of the BPMN notation is used. Next it dives deeper with many more symbols (Level 2). One unique view expressed in the book is that the BPM models can be implemented with a BPM(N) workflow engine (level 3a), but also translated into an IT specification (level 3b) and implemented in code (level 4b).<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlIzHTe1q5mGo-4GYaGO7NlTX8eOJ6g1kve1SXQMi4oETIqp_lczRT_wEQ_IYj36FpUViqOzU1PD8OKFlJpGZkBHy3Z2WR3pYkShn-KZeTDxF2A5l-p-zJOxD9jl9WZACsLTG6TiAst3c/s1600/BPMN_Method_and_Style.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlIzHTe1q5mGo-4GYaGO7NlTX8eOJ6g1kve1SXQMi4oETIqp_lczRT_wEQ_IYj36FpUViqOzU1PD8OKFlJpGZkBHy3Z2WR3pYkShn-KZeTDxF2A5l-p-zJOxD9jl9WZACsLTG6TiAst3c/s1600/BPMN_Method_and_Style.jpg" height="200" width="159" /></a>A colleague of mine strongly recommended another book: "<a href="http://brsilver.com/bpmn-method-and-style/" target="_blank">BPMN Method & Style</a>" from <a href="http://brsilver.com/" target="_blank">Bruce Silver</a>. And I must admit, the book is better structured and easier to read. Bruce Silver is really an authority in the world of BPMN.<br />
<br />
Towards the end, both books well explain that <a href="http://www.omg.org/spec/BPMN/2.0/" target="_blank">BPMN 2</a> is not only a graphical representation but also an XML representation. Funny to see how Bruce Silver refers to <a href="http://www.omg.org/spec/BPMN/20100601/10-06-02.pdf" target="_blank">BPMN XML examples</a> from Camunda. The circle was round.<br />
<br />
Author: Guyi8chttp://www.blogger.com/profile/05003002313779050051noreply@blogger.com0tag:blogger.com,1999:blog-8507185344691363497.post-3625985117539279842014-08-26T10:30:00.000+02:002014-08-26T10:30:00.845+02:00How to troubleshoot an SSL connection issue on webMethods v8.2 Integration ServerEver had to troubleshoot an SSL connection issue but overwhelmed by a "je ne sais quoi" feeling ? Let me try to ease your pain based on recent experience.<br />
<br />
Use case :<br />
<ul>
<li>Integration Server acts as an ssl client, connecting to a partner's HTTPs server</li>
<li>Certificates are exchanged and loaded in key- and truststore on both ends</li>
<li>Calling the URL over HTTPs results in error "ssl handshake failure".</li>
</ul>
Our first step, enable ssl debugging on the Integration Server.<br />
Introduce two extended settings ("watt.net.ssl.debug=true" and "watt.ssl.iaik.debug=true") and restart the Integration Server. Per default ssl debug information will be send to the standard out.<br />
<br />
After calling the URL again over HTTPs additional debug information shows :<br />
<br />
<i>ssl_debug(2): Starting handshake (iSaSiLk 3.03)...</i><br />
<i>ssl_debug(2): Remote client:193.2.253.29:8443, Timestamp:Wed Aug 06 14:31:05 CEST 2014</i><br />
<i>ssl_debug(2): Sending secure renegotiation cipher suite</i><br />
<i>ssl_debug(2): Sending v2 client_hello message, requesting version 3.1...</i><br />
<i>ssl_debug(2): Received alert message: Alert Fatal: handshake failure</i><br />
<i>ssl_debug(2): SSLException while handshaking: Peer sent alert: Alert Fatal: handshake failure</i><br />
<i>ssl_debug(2): Shutting down SSL layer...</i><br />
<i>ssl_debug(2): Closing transport...</i><br />
<br />
What are these log entries telling us ?<br />
The Integration Server is sending message "Sending v2 client_hello" to the HTTPs server. This request is immediately rejected by the end target (ref entry "Received alert message: Alert Fatal: handshake failure" reported in ssl debug log lines).<br />
<br />
The purpose of the SSL v2 Client Hello is listed in the TLS specification as a way for SSL Clients to allow backwards compatibility with previous versions of SSL. The specification also states that TLS Servers are allowed to reject SSL v2 Client Hello messages if they do not support the previous versions of SSL.<br />
<br />
Per default the Integration Server can handle different cryptographic protocols (tls, sslv2, sslv3). How to discover what type of protocol the HTTPs server supports?<br />
<ol>
<li>Go to www.openssl.org</li>
<li>Download and install the binary distribution of your preference</li>
<li>Running following commands :</li>
<li>to verify is HTTPs server support tls1<br />openssl s_client -verify 6 -state -msg -tls1 -showcerts -connect <host>:<port></li>
<li>to verify is HTTPs server support ssl2<br />openssl s_client -verify 6 -state -msg -ssl2 -showcerts -connect <host>:<port></li>
<li>to verify is HTTPs server support ssl3<span style="white-space: pre;"><br /></span>openssl s_client -verify 6 -state -msg -ssl3 -showcerts -connect <host>:<port></li>
</ol>
Note : Replace "<host>:<port>" with the hostname and port of your end target specifications.<br />
<br />
If the result contains "ssl handshake failure" it indicates your target is rejecting the selected protocol.<br />
<br />
In our use case the partner only accepted tls. The issue was solved once the administrator of the HTTPs server enabled ssl v3 on his end.<br />
<br />
Author: Johan De Wulfi8chttp://www.blogger.com/profile/05003002313779050051noreply@blogger.com2tag:blogger.com,1999:blog-8507185344691363497.post-56240726237536755872014-08-13T10:30:00.000+02:002014-08-13T10:30:01.575+02:00SDDC vs webMethods Command CentralThe IT infrastructure of large corporations is setting sail to a new promised land called Software-defined data center (SDDC). SDDC envisions to have all elements of the infrastructure — networking, storage, CPU and security – virtualized and delivered as a service. Naysayers argument that SDDC is a marketing tool, a hype. Believers claim victory be stating software will define the future data centers.<br />
<br />
To stir the pot is that enterprises are lured into the "dark" side by a voice whispering that SDDC would allow to optimize CapEx (Capital expenditures) and OpEx (operating expenditure) savings.<br />
<br />
"why" not to miss the SDDC trend?<br />
SDDC is about orchestrating, coordinating and applying resources from the server, storage and networking pools to ensure that the applications or services meet the capacity, availability and response time SLAs the business requires. IT organizations will have to make significant changes to elimate barriers that exist between the various technical domains; e.g., network, compute, storage. The numbers of people involved with manual tasks will be reduced. The time to market of an application going live on a new provisioned server (incl storage, networking and application deployment) would become a matter of hours instead of weeks.<br />
<br />
How to deploy the complete or a subset of the webMethods service stack onto a server without the hassle of doing repetitive manually configuration steps in a limited amount of time? WebMethods Command Central (CC) you say?<br />
<br />
CC stands for "Centralizes administration, configuration and monitoring of webMethods environments for on-premise and public and private cloud implementations,<br />
improving consistency and reducing risk.".<br />
<br />
How does CC handle the provisioning of a new webMethods Integration Server installation?<br />
A pre-requisite is that the server on which the Integration Server is to be installed runs the SoftwareAG Platform Manager (SPM) component. Once SPM is available the target environment needs to be registered in CC. Through a number of distinctive steps (which includes the generation of a template) CC can spine up a cloned Integration Server through the SPM satellite. In order to interact with CC several clients are available (Web UI, Command Line Interface (CLI), ...). Leveraging template based provisioning products, files, configuration and files can be cloned/copied between source and target node.<br />
<br />
In a perfect world you would like to incorporate the CC CLI instruction set in your personal scripts to automate the installation and configuration as much as possible.Further tests with the CC 9.6 reveal that at this moment template based provisioning has at least following limitations:<br />
<br />
<ul>
<li>target server needs to be first equipped with SPM before further installation can be scheduled.</li>
<li>predetermined list of files that are part of template based provisioning for files. Unable to customize list. All or nothing scenario.</li>
<li>only works with a Default instance under the installation folder. Unable to deploy template to customized instance names.</li>
<li>no Simulation mode like Deployer.</li>
<li>no variable substitution in template.</li>
<li>unable to rollback fixes through CC.</li>
</ul>
<br />
In the land where SDDC is Colonel and orchestration is one of his majors some of the above remarks would be considered as a disadvantage.<br />
Word has it that CC 9.7 could come with remote SPM bootstrapping. In layman's terms this means that on a virgin server, having an ssh deamon and a Java virtual machine available should be sufficient to get SPM installed through a remote installation procedure.<br />
<br />
Honestly, wouldn't be surprised if some of these challenges are resolved in future versions of the product.<br />
<br />
Author: Johan De Wulfi8chttp://www.blogger.com/profile/05003002313779050051noreply@blogger.com0tag:blogger.com,1999:blog-8507185344691363497.post-24672313414390235702014-07-11T12:39:00.000+02:002014-07-11T12:40:26.052+02:00Webmethods Command Central 9.5 User configuration<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:HyphenationZone>21</w:HyphenationZone>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>NL-BE</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:DontVertAlignCellWithSp/>
<w:DontBreakConstrainedForcedTables/>
<w:DontVertAlignInTxbx/>
<w:Word11KerningPairs/>
<w:CachedColBalance/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><br />
<!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin-top:0cm;
mso-para-margin-right:0cm;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0cm;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-fareast-language:EN-US;}
</style>
<![endif]-->
<br />
<div class="MsoNoSpacing">
<span style="font-size: large;"><span lang="EN-US">Introduction:</span></span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US;">Command
central is one of the new components from WebMethods 9.0</span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US;">It helps you monitor and manage your environment in one visual tool.<br />This compononent is growing with each version.</span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US;"><br />
The way the user management works is a bit different from the other components.<br />
A big part of this is being done using commands or by manually copie files to
other location.</span></div>
<div class="MsoNoSpacing">
<br /></div>
<h2>
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: NL-BE; mso-font-kerning: 18.0pt;">USER
ARCHITECTURE</span></h2>
<div class="MsoNoSpacing" style="margin-left: 32.2pt; mso-list: l0 level1 lfo1; text-indent: -18.0pt;">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: NL-BE;"><span style="mso-list: Ignore;">1.<span style="font: 7.0pt "Times New Roman";">
</span></span></span><span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">Local Administrator user in users.txt will
have same password on all environments</span></div>
<div class="MsoNoSpacing" style="margin-left: 32.2pt; mso-list: l0 level1 lfo1; text-indent: -18.0pt;">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: NL-BE;"><span style="mso-list: Ignore;">2.<span style="font: 7.0pt "Times New Roman";">
</span></span></span><span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">This user is used to connect to SPM and its
components !</span></div>
<div class="MsoNoSpacing" style="margin-left: 32.2pt; mso-list: l0 level1 lfo1; text-indent: -18.0pt;">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: NL-BE;"><span style="mso-list: Ignore;">3.<span style="font: 7.0pt "Times New Roman";">
</span></span></span><span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">To connect to IS, MWS and other user protected CI,
local administrator of that component will be used.</span></div>
<div class="MsoNoSpacing" style="margin-left: 32.2pt; mso-list: l0 level1 lfo1; text-indent: -18.0pt;">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-language: NL-BE;"><span style="mso-list: Ignore;">4.<span style="font: 7.0pt "Times New Roman";">
</span></span></span><span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">LDAP is used to authorize CCE access trough roles4</span></div>
<div class="MsoNoSpacing" style="margin-left: 32.2pt; mso-list: l0 level1 lfo1; text-indent: -18.0pt;">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;"> </span></div>
<h2>
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: NL-BE; mso-font-kerning: 18.0pt;"><a name='more'></a></span></h2>
<h2>
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: NL-BE; mso-font-kerning: 18.0pt;">Configure
local Users when Administrator password changes:</span><span lang="EN-US" style="font-family: "Times New Roman","serif"; font-size: 12.0pt; line-height: 115%; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: NL-BE;"> </span></h2>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">The configuration is
done using Command Central(cce) commands:<br />
</span><span lang="EN-US" style="font-family: "PalatinoLinotype-Roman","serif"; mso-ansi-language: EN-US; mso-bidi-font-family: PalatinoLinotype-Roman;">Set the
CC_CLI_HOME environment variable to the following directory:</span></div>
<div class="MsoNormal">
<i><span lang="EN-US" style="font-family: "PalatinoLinotype-Italic","serif"; mso-ansi-language: EN-US; mso-bidi-font-family: PalatinoLinotype-Italic;">Software
AG_directory</span></i><span lang="EN-US" style="font-family: "PalatinoLinotype-Roman","serif"; mso-ansi-language: EN-US; mso-bidi-font-family: PalatinoLinotype-Roman;">\CommandCentral\client</span><span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;"></span></div>
<h3>
<span lang="EN-US" style="mso-ansi-language: EN-US;">1. Change the command
central password by running.</span></h3>
<div class="MsoNoSpacing">
<i style="mso-bidi-font-style: normal;"><span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">C:\SoftwareAG\common\bin>internaluserrepo.bat
-f ../conf/users.txt -p manage1 Administrator</span></i></div>
<h3>
<span lang="EN-US" style="mso-ansi-language: EN-US;">2. Update configuration
data for all nodes</span></h3>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">When this is done, the node will become green on “Installations
Tab”</span></div>
<div class="MsoNoSpacing">
<i style="mso-bidi-font-style: normal;"><span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">cc update
configuration data {destination nodeAlias} OSGI-SPM-ENGINE
SIN-INTERNAL-USERS-users.txt -i D:\CCE_95\common\conf\users.txt<br style="mso-special-character: line-break;" />
<br style="mso-special-character: line-break;" />
</span></i></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">Password to be used is password in users.txt at
that moment on the Node_ALIAS</span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">this will copy users.txt to the destination alias</span></div>
<div class="MsoNoSpacing">
<b><span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">OR</span></b><span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;"> You can also copy 3 files from CCE_95 to
node =</span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">Users.txt</span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">Roles.txt</span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">Groups.txt</span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">When you don’t define a specific node, it will try
to apply it to all nodes. </span></div>
<div class="MsoNormal" style="line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;">
<b><span lang="EN-US" style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: NL-BE;">RESTART OF SPM ON DESTINATION SERVER IS
NEEDED</span></b><span lang="EN-US" style="font-family: "Times New Roman","serif"; font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: NL-BE;"></span></div>
<h3>
<span lang="EN-US" style="mso-ansi-language: EN-US;">3. Create creds.xml</span></h3>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">cc get security credentials --format xml --server </span><a href="http://localhost:8090/cce"><span lang="EN-US" style="color: blue; mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">http://localhost:8090/cce</span></a><span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;"> --output
d:\creds.xml</span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">Change password credentials to current CCE
password.</span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">save creds.xml</span></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;"><?xml version="1.0"
encoding="UTF-8" standalone="yes" ?></span></div>
<div class="MsoNoSpacing">
<a href="http://www.securex.eu/securexwiki/"><span lang="EN-US" style="color: blue; mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">-</span></a><span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">
<userCredentials></span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;"><userName>Administrator</userName></span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;"><authenticationType>BASIC</authenticationType></span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;"><password>passwordincleartext</password></span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;"></userCredentials></span></div>
<h3>
<span lang="EN-US" style="mso-ansi-language: EN-US;">3.1 Execute the below to
fix the communication between CCE and all SPM</span></h3>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">When this is done SPM will be green on Instances
Tab only</span></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">cc add security credentials runtimeComponentId=OSGI-SPM
-i D:/creds.xml -f xml</span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">D:\CCE_95\CommandCentral\client\bin>cc add
security credentials runtimeComponent<br />
Id=OSGI-SPM -i ./creds.xml -f xml<br />
Password:<br />
POST </span><a href="http://localhost:8090/cce/security/credentials?runtimeComponentId=OSGI-SPM"><span lang="EN-US" style="color: blue; mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">http://localhost:8090/cce/security/credentials?runtimeComponentId=OSGI-SPM</span></a><span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;"><br />
returned a response status of 200 OK</span></div>
<h3>
<span lang="EN-US" style="mso-ansi-language: EN-US;">4. Execute next command to
fix the communication between SPM and all other OSGI platform products</span></h3>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">When this is done all components using Adminstrator
PWS combination will be green (NerV , Web server…)</span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">Other Components like IS and MWS there you need to
set the password manually trough WebInterface of CCE</span></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">cc add security credentials
runtimeComponentId=OSGI-* -i D:/creds.xml -f xml</span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">D:\CCE_95\CommandCentral\client\bin>cc add
security credentials runtimeComponent<br />
Id=OSGI-* -i ./creds.xml -f xml<br />
Password:<br />
POST http://localhost:8090/cce/security/credentials?runtimeComponentId=OSGI-*
re<br />
turned a response status of 200 OK</span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;"><br />
<br />
NOTE: <br />
<b style="mso-bidi-font-weight: normal;">In 9.5 ALL SPM's must have the same
Administrator password otherwise CCE cannot connect to them</b>.<br style="mso-special-character: line-break;" />
<br style="mso-special-character: line-break;" />
</span></div>
<h3>
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-font-kerning: 18.0pt;">LDAP
Configuration</span></h3>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">Copy file from DEV / SYS :</span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">Jaas.conf</span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">Or adjust it:</span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">com.softwareag.security.jaas.login.internal.InternalLoginModule
optional</span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">// LDAP config started</span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">
com.softwareag.security.sin.is.ldap.lm.LDAPLoginModule optional</span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">
url="<u><span style="color: blue;">ldap://ldapserver:ldapPort</span></u>"</span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">
prin="cn=<i style="mso-bidi-font-style: normal;">{ldap info}</i>,o=<i style="mso-bidi-font-style: normal;">{ ldap info }</i>"</span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">
cred="********"</span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">
gidprop="cn"</span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">
uidprop="cn"</span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">
usecaching="false"</span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">
userrootdn="ou==<i style="mso-bidi-font-style: normal;">{ ldap info }</i>,o==<i style="mso-bidi-font-style: normal;">{ ldap info }</i>"</span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">
mattr="uniquemember"</span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">
memberinfoingroups=true</span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">
grouprootdn="ou==<i style="mso-bidi-font-style: normal;">{ ldap info }</i>,o==<i style="mso-bidi-font-style: normal;">{ ldap info }</i>"</span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">
groupobjclass="groupofnames"</span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">
creategroups=true</span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">
personobjclass="person";</span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">
// LDAP config ended</span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">Copy this file to SPM to keep in mind to change
path to local files!</span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">Or you will have some strange effects.</span></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">+ Adapt roles.txt to LDAP:</span></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">[groups]</span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">group:"Administrators"=superadmin</span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">group:"DEVAdministrator"=superadmin</span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">group:"DEVDeveloper"=readonlyadmin</span></div>
<div class="MsoNoSpacing">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-fareast-language: NL-BE;">group:"DEVMonitorAdministrator"=readonlyadmin</span></div>
<div class="MsoNormal">
<br /></div>
i8chttp://www.blogger.com/profile/05003002313779050051noreply@blogger.com0tag:blogger.com,1999:blog-8507185344691363497.post-67140510633918500172014-07-04T08:26:00.000+02:002014-07-04T16:55:13.714+02:00Documenting integration flows with BPMN<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<br /></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">There's no standard approach to document an integration flows. One can make screenshots of the created flow. Or show the source code of the integration flow. Understanding this documentation requires proper knowledge of the tooling. And it is specific to the specific tool, particularly annoying when an company uses multiple integration products.</span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span>
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Therefore a good approach is to create the documentation of the integration flows in <a href="http://www.bpmn.org/" target="_blank">BPMN</a> (Business Process Model and Notation). So everyone can read and understand the documentation.</span></div>
<b id="docs-internal-guid-34453182-e28d-930b-bb8e-31b1a71f5c58" style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">BPMN is a graphical representation for business processes but can be well leveraged for message flows as well. </span><span style="font-family: Arial; font-size: 15px; line-height: 1.15; white-space: pre-wrap;">BPMN is a standard notation and can be created with different tools (for example Bizagi, IBM Process Designer, …). A model consists of different symbols that are linked by lines and arrows. In BPMN there are four groups of symbols:</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><b>Event</b></span></div>
<span style="font-family: Arial; font-size: 15px; line-height: 1.15; white-space: pre-wrap;">An event has a circle as symbol. When something happens (like a message is received or an error is caught) the event will be triggered. There are three different events possible in BPMN:</span><br />
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Start event, Intermediate event and End event.</span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0ULtj5M5cPXmXLogDrpOPJNUr4Dl1y3HXjCWSuoJTvY-W84ceOlM_TVQevOML2aUc8Rxo5J8CpEiBHkXQ5b-giWu56Csgv9FDVpOSWDtYdk-5hp79yBkGAd9JlbWO2G8ejsAIR-Es5ss/s1600/BPMN_plain_event_types.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0ULtj5M5cPXmXLogDrpOPJNUr4Dl1y3HXjCWSuoJTvY-W84ceOlM_TVQevOML2aUc8Rxo5J8CpEiBHkXQ5b-giWu56Csgv9FDVpOSWDtYdk-5hp79yBkGAd9JlbWO2G8ejsAIR-Es5ss/s1600/BPMN_plain_event_types.png" height="62" width="200" /></a></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
<b style="font-family: Arial; font-size: 15px; line-height: 1.15; white-space: pre-wrap;">Activity</b><br />
<span style="font-family: Arial; font-size: 15px; line-height: 1.15; white-space: pre-wrap;">The symbol of an activity is a rounded-corner rectangle and describes the kind of work which must be done. It is also possible to make a subflow using an activity. The sublow makes the documentation more readable for large integration flows.</span><br />
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiz34F7Feo9_Z_y5okGcnVBs7NbNfVG4AK1szv1ej2b3IscwTmAmGS1228iTSAq_tZCL7u13PWYikoqiAw9YCkeLZ65NV3X0Lx2M-_kpOHpqZ6aby5IaUCN2iUf0yyvpOtaR4SjbZLlqVA/s1600/BPMN_Activity_Types.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiz34F7Feo9_Z_y5okGcnVBs7NbNfVG4AK1szv1ej2b3IscwTmAmGS1228iTSAq_tZCL7u13PWYikoqiAw9YCkeLZ65NV3X0Lx2M-_kpOHpqZ6aby5IaUCN2iUf0yyvpOtaR4SjbZLlqVA/s1600/BPMN_Activity_Types.jpg" height="65" width="320" /></a></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<br /></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><b>Gateway</b></span></div>
<span style="font-family: Arial; font-size: 15px; line-height: 1.15; white-space: pre-wrap;">A gateway is represented with a diamond shape and determines forking and merging of paths. </span><br />
<b style="font-weight: normal;"><br /></b>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRfxtAHNLIScmGpQQNt1AIL2aIHDBfMlLh0zQfyql8DtA5tF6C6fcOQtpKY9xeaMnynuWHHs2Qp4getwkusVpyoVdlhyhEKfRQRH3tHgRx2ww7m9U6Qzyav1nRk8tIehL01aMWLMTeZCU/s1600/BPMN_gateway_types.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRfxtAHNLIScmGpQQNt1AIL2aIHDBfMlLh0zQfyql8DtA5tF6C6fcOQtpKY9xeaMnynuWHHs2Qp4getwkusVpyoVdlhyhEKfRQRH3tHgRx2ww7m9U6Qzyav1nRk8tIehL01aMWLMTeZCU/s1600/BPMN_gateway_types.png" height="200" width="175" /></a></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><b>Connections</b></span></div>
<span style="font-family: Arial; font-size: 15px; line-height: 1.15; white-space: pre-wrap;">All the above symbols must be connected with some lines (with an arrow). There are three different connection types in the BPMN standard:</span><br />
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<br />
<ul>
<li><span style="font-family: Arial; font-size: 15px; line-height: 1.15; white-space: pre-wrap;">A Sequence Flow is represented with a solid line with arrowhead, and shows in which order the activities are performed.</span></li>
<li><span style="font-family: Arial; font-size: 15px; line-height: 1.15; white-space: pre-wrap;">An Association is represented with a dotted line. It is used to associate an Artifact or text to a Flow Object.</span></li>
<li><span style="font-family: Arial; font-size: 15px; line-height: 1.15; white-space: pre-wrap;">A Message Flow is represented with a dashed line, an open circle at the start, and an open arrowhead at the end. It tells us what messages flow across different pools.</span></li>
</ul>
</div>
<b style="font-weight: normal;"><br /></b>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4m3RtjprO7GnDcItghTKToiOXP7DkOyMwYF466K9FmhBt31J7DxMO7gyw-vYkDsV8Xjf3OasoiE0-Jvx394qAgOv-3p9kErdRMc7JPzPB3WDneF8rA_RO-MxIBcbHeM4vxIR5Ao9LfZU/s1600/Different_Types_of_BPMN_connections.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4m3RtjprO7GnDcItghTKToiOXP7DkOyMwYF466K9FmhBt31J7DxMO7gyw-vYkDsV8Xjf3OasoiE0-Jvx394qAgOv-3p9kErdRMc7JPzPB3WDneF8rA_RO-MxIBcbHeM4vxIR5Ao9LfZU/s1600/Different_Types_of_BPMN_connections.png" height="111" width="200" /></a></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">These are the most used symbols of a BPMN flow.</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">When you know the different symbols, you can create documentation. Most of the time the integration flow is easy to document. This because you can copy the integration flow in the BPMN tool. For example when you have a flow like:</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheWEZD4_Oby1ROCvkV9u2ba-w0gB-k_rbru-m5gsYQ2TG_mEDeNGFbZJBXrgjP6LfXfDee5_oqbzDgt2W_zsrorTMrTRFHKPksZy67DdNJ7J-UUaIqy9OIz46_ld2lQ4jjB9F3i4vfVxU/s1600/broker+blog.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheWEZD4_Oby1ROCvkV9u2ba-w0gB-k_rbru-m5gsYQ2TG_mEDeNGFbZJBXrgjP6LfXfDee5_oqbzDgt2W_zsrorTMrTRFHKPksZy67DdNJ7J-UUaIqy9OIz46_ld2lQ4jjB9F3i4vfVxU/s1600/broker+blog.png" height="102" width="320" /></a></div>
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span>
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The BPMN looks like:</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhh_Xkkl1uX888BHOoow5KoCZT2kfUOg4hFApwntQ-3GBe4AclLG8m6LkZ8CxmKc_N796yn1tq5OEamkjr8m4GDSEscJqUl9BswcPAmFma6AD8yF_oJHEP_zOpnv8P8dKP-v2wrQI9xOek/s1600/bizagi+blog.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhh_Xkkl1uX888BHOoow5KoCZT2kfUOg4hFApwntQ-3GBe4AclLG8m6LkZ8CxmKc_N796yn1tq5OEamkjr8m4GDSEscJqUl9BswcPAmFma6AD8yF_oJHEP_zOpnv8P8dKP-v2wrQI9xOek/s1600/bizagi+blog.png" height="111" width="320" /></a></div>
<span style="font-family: Arial; font-size: 15px; line-height: 1.15; white-space: pre-wrap;">Start event -> activity (or subflow) -> end event. In the subflow of the BPMN you can create a detailed view of the compute node. People that must know the details, can view in the subflow for it.</span></div>
<br />
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; color: #676767; font-family: Verdana; font-size: 11px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Author: Jimmy</span></div>
i8chttp://www.blogger.com/profile/05003002313779050051noreply@blogger.com0tag:blogger.com,1999:blog-8507185344691363497.post-3812495023138247532014-05-13T11:31:00.000+02:002014-05-16T09:00:42.920+02:00BizTalk Health Statistics - Scripts<div abp="3670" class="MsoNormal" style="text-align: justify;">
<div abp="3671">
<i abp="3672"><span abp="3673" lang="EN-US" style="font-family: inherit;">Sometimes you want to know how many messages have passed through BizTalk. Often this question pops up from a business perspective where they want to know how the use of the environment is evolving, in either positive or negative directions. It’s also useful to set out guidelines on how much data your environment can handle and to create upgrade plans when emergency levels are being reached.</span></i></div>
</div>
<div abp="3675" class="MsoNormal" style="text-align: justify;">
<i abp="3676" style="mso-bidi-font-style: normal;"><span abp="3677" lang="EN-US" style="font-family: inherit; mso-ansi-language: EN-US;"></span></i><br />
<div abp="3678">
<i abp="3679" style="mso-bidi-font-style: normal;"><span abp="3680" lang="EN-US" style="font-family: inherit; mso-ansi-language: EN-US;">There are four kinds of statistics that we always try to gather. These are: </span></i></div>
</div>
<div abp="3674" class="MsoNormal" style="text-align: justify;">
<ul>
<li><div abp="3681">
<i abp="3682" style="font-family: inherit; text-indent: -18pt;"><span abp="3683" lang="EN-US">- Messages passing through per day (In & Out)</span></i></div>
</li>
<li><div abp="3684">
<i abp="3685" style="font-family: inherit; text-indent: -18pt;"><span abp="3686" lang="EN-US">- Instances (orchestrations & pipelines) executed per day</span></i></div>
</li>
<li><div abp="3687">
<i abp="3688" style="font-family: inherit; text-indent: -18pt;"><span abp="3689" lang="EN-US">- Usage of host instances</span></i></div>
</li>
<li><div abp="3690">
<i abp="3691" style="font-family: inherit; text-indent: -18pt;"><span abp="3692" lang="EN-US">- Largest message sizes</span></i></div>
</li>
</ul>
</div>
<div abp="3694" class="MsoNormal" style="text-align: justify;">
<i abp="3695" style="mso-bidi-font-style: normal;"><span abp="3696" lang="EN-US" style="font-family: inherit; mso-ansi-language: EN-US;"><br abp="3697" /></span></i>
<i abp="3698" style="mso-bidi-font-style: normal;"><span abp="3699" lang="EN-US" style="font-family: inherit; mso-ansi-language: EN-US;">The statistics are gathered by executing SQL scripts on the Tracking Database.<o:p abp="3700"></o:p></span></i></div>
<div abp="3701" class="MsoNormal" style="text-align: justify;">
<i abp="3702" style="mso-bidi-font-style: normal;"><span abp="3703" lang="EN-US" style="font-family: inherit; mso-ansi-language: EN-US;"><br abp="3704" /></span></i></div>
<div abp="3705" class="MsoNormal">
<div abp="3706">
<b abp="3707" style="mso-bidi-font-weight: normal;"><u abp="3708"><span abp="3709" lang="EN-US" style="font-family: inherit; mso-ansi-language: EN-US;">Messages per day<o:p abp="3710"></o:p></span></u></b></div>
<div abp="3711">
<b abp="3712" style="mso-bidi-font-weight: normal;"><u abp="3713"><span abp="3714" lang="EN-US" style="font-family: inherit; mso-ansi-language: EN-US;"><br abp="3715" /></span></u></b></div>
</div>
<div abp="3716" class="MsoNormal">
<div abp="3717">
<i abp="3718" style="mso-bidi-font-style: normal;"><span abp="3719" lang="EN-US" style="font-family: inherit; font-size: 10pt; line-height: 115%; mso-ansi-language: EN-US; mso-bidi-font-size: 11.0pt;">SELECT datepart(dd, [dtInsertionTimeStamp]) as dateMsg, datepart(MM, [dtInsertionTimeStamp]) as monthMsg, count(Convert(char(10), [dtInsertionTimeStamp], 108)) as ant<br abp="3720" />
FROM [BizTalkDTADb].[dbo].[dta_MessageInOutEvents] WITH (NOLOCK)<br abp="3721" />
WHERE [dtInsertionTimeStamp]<br abp="3722" />
BETWEEN convert(datetime, '2014-02-10 00:00:00', 120) AND convert(datetime, '2014-02-16 23:59:59',<span abp="3723" style="mso-spacerun: yes;"> </span>120)<br abp="3724" />
GROUP BY datepart(dd, [dtInsertionTimeStamp]),datepart(MM, [dtInsertionTimeStamp]) ORDER BY [dateMsg]ASC, [monthMsg]<o:p abp="3725"></o:p></span></i></div>
<div abp="3726">
<i abp="3727" style="mso-bidi-font-style: normal;"><span abp="3728" lang="EN-US" style="font-family: inherit; font-size: 10pt; line-height: 115%; mso-ansi-language: EN-US; mso-bidi-font-size: 11.0pt;"><br abp="3729" /></span></i></div>
</div>
<div abp="3730" class="MsoNormal" style="text-align: justify;">
<div abp="3731">
<span abp="3732" lang="EN-US" style="font-family: inherit; mso-ansi-language: EN-US;">The “BETWEEN” part can be filled in with a timeframe of several days (in case your tracking database keeps all data on these days. A result as the following will be received:<o:p abp="3733"></o:p></span></div>
<div abp="3734">
<span abp="3735" lang="EN-US" style="font-family: inherit; mso-ansi-language: EN-US;"><br abp="3736" /></span></div>
</div>
<table abp="3737" border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; border: currentColor; mso-border-alt: solid windowtext .5pt; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-table-layout-alt: fixed; width: 168px;"><tbody abp="3738">
<tr abp="3739" style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td abp="3740" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 55.05pt;" width="55"><div abp="3741" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="3742">
<span abp="3743" style="font-family: inherit;"><span abp="3744" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">dateMsg</span><span abp="3745" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="3746"></o:p></span></span></div>
</div>
</td> <td abp="3747" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 63.75pt;" width="64"><div abp="3748" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="3749">
<span abp="3750" style="font-family: inherit;"><span abp="3751" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">monthMsg</span><span abp="3752" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="3753"></o:p></span></span></div>
</div>
</td> <td abp="3754" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 49.65pt;" width="50"><div abp="3755" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="3756">
<span abp="3757" style="font-family: inherit;"><span abp="3758" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">ant</span><span abp="3759" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="3760"></o:p></span></span></div>
</div>
</td> </tr>
<tr abp="3761" style="mso-yfti-irow: 1;"> <td abp="3762" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 55.05pt;" width="55"><div abp="3763" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="3764">
<span abp="3765" style="font-family: inherit;"><span abp="3766" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">10</span><span abp="3767" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="3768"></o:p></span></span></div>
</div>
</td> <td abp="3769" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 63.75pt;" width="64"><div abp="3770" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="3771">
<span abp="3772" style="font-family: inherit;"><span abp="3773" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">2</span><span abp="3774" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="3775"></o:p></span></span></div>
</div>
</td> <td abp="3776" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 49.65pt;" width="50"><div abp="3777" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="3778">
<span abp="3779" style="font-family: inherit;"><span abp="3780" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">277262</span><span abp="3781" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="3782"></o:p></span></span></div>
</div>
</td> </tr>
<tr abp="3783" style="mso-yfti-irow: 2;"> <td abp="3784" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 55.05pt;" width="55"><div abp="3785" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="3786">
<span abp="3787" style="font-family: inherit;"><span abp="3788" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">11</span><span abp="3789" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="3790"></o:p></span></span></div>
</div>
</td> <td abp="3791" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 63.75pt;" width="64"><div abp="3792" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="3793">
<span abp="3794" style="font-family: inherit;"><span abp="3795" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">2</span><span abp="3796" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="3797"></o:p></span></span></div>
</div>
</td> <td abp="3798" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 49.65pt;" width="50"><div abp="3799" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="3800">
<span abp="3801" style="font-family: inherit;"><span abp="3802" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">381427</span><span abp="3803" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="3804"></o:p></span></span></div>
</div>
</td> </tr>
<tr abp="3805" style="mso-yfti-irow: 3;"> <td abp="3806" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 55.05pt;" width="55"><div abp="3807" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="3808">
<span abp="3809" style="font-family: inherit;"><span abp="3810" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">12</span><span abp="3811" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="3812"></o:p></span></span></div>
</div>
</td> <td abp="3813" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 63.75pt;" width="64"><div abp="3814" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="3815">
<span abp="3816" style="font-family: inherit;"><span abp="3817" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">2</span><span abp="3818" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="3819"></o:p></span></span></div>
</div>
</td> <td abp="3820" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 49.65pt;" width="50"><div abp="3821" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="3822">
<span abp="3823" style="font-family: inherit;"><span abp="3824" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">427297</span><span abp="3825" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="3826"></o:p></span></span></div>
</div>
</td> </tr>
<tr abp="3827" style="mso-yfti-irow: 4;"> <td abp="3828" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 55.05pt;" width="55"><div abp="3829" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="3830">
<span abp="3831" style="font-family: inherit;"><span abp="3832" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">13</span><span abp="3833" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="3834"></o:p></span></span></div>
</div>
</td> <td abp="3835" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 63.75pt;" width="64"><div abp="3836" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="3837">
<span abp="3838" style="font-family: inherit;"><span abp="3839" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">2</span><span abp="3840" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="3841"></o:p></span></span></div>
</div>
</td> <td abp="3842" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 49.65pt;" width="50"><div abp="3843" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="3844">
<span abp="3845" style="font-family: inherit;"><span abp="3846" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">291388</span><span abp="3847" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="3848"></o:p></span></span></div>
</div>
</td> </tr>
<tr abp="3849" style="mso-yfti-irow: 5;"> <td abp="3850" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 55.05pt;" width="55"><div abp="3851" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="3852">
<span abp="3853" style="font-family: inherit;"><span abp="3854" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">14</span><span abp="3855" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="3856"></o:p></span></span></div>
</div>
</td> <td abp="3857" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 63.75pt;" width="64"><div abp="3858" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="3859">
<span abp="3860" style="font-family: inherit;"><span abp="3861" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">2</span><span abp="3862" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="3863"></o:p></span></span></div>
</div>
</td> <td abp="3864" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 49.65pt;" width="50"><div abp="3865" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="3866">
<span abp="3867" style="font-family: inherit;"><span abp="3868" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">285235</span><span abp="3869" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="3870"></o:p></span></span></div>
</div>
</td> </tr>
<tr abp="3871" style="mso-yfti-irow: 6;"> <td abp="3872" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 55.05pt;" width="55"><div abp="3873" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="3874">
<span abp="3875" style="font-family: inherit;"><span abp="3876" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">15</span><span abp="3877" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="3878"></o:p></span></span></div>
</div>
</td> <td abp="3879" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 63.75pt;" width="64"><div abp="3880" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="3881">
<span abp="3882" style="font-family: inherit;"><span abp="3883" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">2</span><span abp="3884" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="3885"></o:p></span></span></div>
</div>
</td> <td abp="3886" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 49.65pt;" width="50"><div abp="3887" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="3888">
<span abp="3889" style="font-family: inherit;"><span abp="3890" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">3290</span><span abp="3891" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="3892"></o:p></span></span></div>
</div>
</td> </tr>
<tr abp="3893" style="mso-yfti-irow: 7; mso-yfti-lastrow: yes;"> <td abp="3894" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 55.05pt;" width="55"><div abp="3895" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="3896">
<span abp="3897" style="font-family: inherit;"><span abp="3898" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">16</span><span abp="3899" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="3900"></o:p></span></span></div>
</div>
</td> <td abp="3901" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 63.75pt;" width="64"><div abp="3902" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="3903">
<span abp="3904" style="font-family: inherit;"><span abp="3905" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">2</span><span abp="3906" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="3907"></o:p></span></span></div>
</div>
</td> <td abp="3908" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 49.65pt;" width="50"><div abp="3909" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="3910">
<span abp="3911" style="font-family: inherit;"><span abp="3912" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">672</span><span abp="3913" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="3914"></o:p></span></span></div>
</div>
</td> </tr>
</tbody></table>
<div abp="3915" class="MsoNormal">
<div abp="3916">
<span abp="3917" style="font-family: inherit;"><br abp="3918" /></span></div>
</div>
<div abp="3919" class="MsoNormal">
<div abp="3920">
<b abp="3921" style="mso-bidi-font-weight: normal;"><u abp="3922"><span abp="3923" lang="EN-US" style="font-family: inherit; mso-ansi-language: EN-US;">Instances per day<o:p abp="3924"></o:p></span></u></b></div>
<div abp="3925">
<b abp="3926" style="mso-bidi-font-weight: normal;"><u abp="3927"><span abp="3928" lang="EN-US" style="font-family: inherit; mso-ansi-language: EN-US;"><br abp="3929" /></span></u></b></div>
</div>
<div abp="3930" class="MsoNormal">
<div abp="3931">
<span abp="3932" lang="EN-US" style="font-family: inherit; font-size: 10pt; line-height: 115%; mso-ansi-language: EN-US; mso-bidi-font-size: 11.0pt;">SELECT<span abp="3933" style="mso-spacerun: yes;"> </span>datepart(dd, [dtInsertionTimeStamp]) as dateMsg, datepart(MM, [dtInsertionTimeStamp]) as monthMsg, count(Convert(char(10), [dtInsertionTimeStamp], 108)) as ant<br abp="3934" />
FROM [BizTalkDTADb].[dbo].[dta_ServiceInstances] WITH (NOLOCK)<br abp="3935" />
WHERE [dtInsertionTimeStamp]<br abp="3936" />
BETWEEN convert(datetime ,'2014-02-10 00:00:00', 120) AND convert(datetime, '2014-02-16 23:59:59', 120)<br abp="3937" />
GROUP BY datepart(dd, [dtInsertionTimeStamp]), datepart(MM, [dtInsertionTimeStamp] )ORDER BY [dateMsg] ASC, [monthMsg]<o:p abp="3938"></o:p></span></div>
<div abp="3939">
<span abp="3940" lang="EN-US" style="font-family: inherit; font-size: 10pt; line-height: 115%; mso-ansi-language: EN-US; mso-bidi-font-size: 11.0pt;"><br abp="3941" /></span></div>
</div>
<div abp="3942" class="MsoNormal" style="text-align: justify;">
<div abp="3943">
<span abp="3944" lang="EN-US" style="font-family: inherit; mso-ansi-language: EN-US;">Also in this script, the “BETWEEN” part can be filled in with a timeframe. Following result is received:<o:p abp="3945"></o:p></span></div>
<div abp="3946">
<span abp="3947" lang="EN-US" style="font-family: inherit; mso-ansi-language: EN-US;"><br abp="3948" /></span></div>
</div>
<table abp="3949" border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; border: currentColor; mso-border-alt: solid windowtext .5pt; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-table-layout-alt: fixed; width: 168px;"><tbody abp="3950">
<tr abp="3951" style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td abp="3952" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 55.05pt;" width="55"><div abp="3953" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="3954">
<span abp="3955" style="font-family: inherit;"><span abp="3956" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">dateMsg</span><span abp="3957" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="3958"></o:p></span></span></div>
</div>
</td> <td abp="3959" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 63.75pt;" width="64"><div abp="3960" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="3961">
<span abp="3962" style="font-family: inherit;"><span abp="3963" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">monthMsg</span><span abp="3964" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="3965"></o:p></span></span></div>
</div>
</td> <td abp="3966" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 49.65pt;" width="50"><div abp="3967" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="3968">
<span abp="3969" style="font-family: inherit;"><span abp="3970" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">ant</span><span abp="3971" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="3972"></o:p></span></span></div>
</div>
</td> </tr>
<tr abp="3973" style="mso-yfti-irow: 1;"> <td abp="3974" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 55.05pt;" width="55"><div abp="3975" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="3976">
<span abp="3977" style="font-family: inherit;"><span abp="3978" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">10</span><span abp="3979" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="3980"></o:p></span></span></div>
</div>
</td> <td abp="3981" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 63.75pt;" width="64"><div abp="3982" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="3983">
<span abp="3984" style="font-family: inherit;"><span abp="3985" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">2</span><span abp="3986" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="3987"></o:p></span></span></div>
</div>
</td> <td abp="3988" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 49.65pt;" width="50"><div abp="3989" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="3990">
<span abp="3991" style="font-family: inherit;"><span abp="3992" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">127369</span><span abp="3993" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="3994"></o:p></span></span></div>
</div>
</td> </tr>
<tr abp="3995" style="mso-yfti-irow: 2;"> <td abp="3996" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 55.05pt;" width="55"><div abp="3997" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="3998">
<span abp="3999" style="font-family: inherit;"><span abp="4000" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">11</span><span abp="4001" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4002"></o:p></span></span></div>
</div>
</td> <td abp="4003" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 63.75pt;" width="64"><div abp="4004" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4005">
<span abp="4006" style="font-family: inherit;"><span abp="4007" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">2</span><span abp="4008" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4009"></o:p></span></span></div>
</div>
</td> <td abp="4010" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 49.65pt;" width="50"><div abp="4011" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4012">
<span abp="4013" style="font-family: inherit;"><span abp="4014" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">183848</span><span abp="4015" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4016"></o:p></span></span></div>
</div>
</td> </tr>
<tr abp="4017" style="mso-yfti-irow: 3;"> <td abp="4018" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 55.05pt;" width="55"><div abp="4019" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4020">
<span abp="4021" style="font-family: inherit;"><span abp="4022" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">12</span><span abp="4023" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4024"></o:p></span></span></div>
</div>
</td> <td abp="4025" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 63.75pt;" width="64"><div abp="4026" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4027">
<span abp="4028" style="font-family: inherit;"><span abp="4029" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">2</span><span abp="4030" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4031"></o:p></span></span></div>
</div>
</td> <td abp="4032" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 49.65pt;" width="50"><div abp="4033" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4034">
<span abp="4035" style="font-family: inherit;"><span abp="4036" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">201597</span><span abp="4037" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4038"></o:p></span></span></div>
</div>
</td> </tr>
<tr abp="4039" style="mso-yfti-irow: 4;"> <td abp="4040" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 55.05pt;" width="55"><div abp="4041" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4042">
<span abp="4043" style="font-family: inherit;"><span abp="4044" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">13</span><span abp="4045" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4046"></o:p></span></span></div>
</div>
</td> <td abp="4047" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 63.75pt;" width="64"><div abp="4048" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4049">
<span abp="4050" style="font-family: inherit;"><span abp="4051" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">2</span><span abp="4052" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4053"></o:p></span></span></div>
</div>
</td> <td abp="4054" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 49.65pt;" width="50"><div abp="4055" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4056">
<span abp="4057" style="font-family: inherit;"><span abp="4058" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">138431</span><span abp="4059" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4060"></o:p></span></span></div>
</div>
</td> </tr>
<tr abp="4061" style="mso-yfti-irow: 5;"> <td abp="4062" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 55.05pt;" width="55"><div abp="4063" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4064">
<span abp="4065" style="font-family: inherit;"><span abp="4066" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">14</span><span abp="4067" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4068"></o:p></span></span></div>
</div>
</td> <td abp="4069" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 63.75pt;" width="64"><div abp="4070" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4071">
<span abp="4072" style="font-family: inherit;"><span abp="4073" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">2</span><span abp="4074" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4075"></o:p></span></span></div>
</div>
</td> <td abp="4076" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 49.65pt;" width="50"><div abp="4077" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4078">
<span abp="4079" style="font-family: inherit;"><span abp="4080" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">132828</span><span abp="4081" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4082"></o:p></span></span></div>
</div>
</td> </tr>
<tr abp="4083" style="mso-yfti-irow: 6;"> <td abp="4084" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 55.05pt;" width="55"><div abp="4085" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4086">
<span abp="4087" style="font-family: inherit;"><span abp="4088" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">15</span><span abp="4089" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4090"></o:p></span></span></div>
</div>
</td> <td abp="4091" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 63.75pt;" width="64"><div abp="4092" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4093">
<span abp="4094" style="font-family: inherit;"><span abp="4095" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">2</span><span abp="4096" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4097"></o:p></span></span></div>
</div>
</td> <td abp="4098" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 49.65pt;" width="50"><div abp="4099" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4100">
<span abp="4101" style="font-family: inherit;"><span abp="4102" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">1536</span><span abp="4103" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4104"></o:p></span></span></div>
</div>
</td> </tr>
<tr abp="4105" style="mso-yfti-irow: 7; mso-yfti-lastrow: yes;"> <td abp="4106" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 55.05pt;" width="55"><div abp="4107" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4108">
<span abp="4109" style="font-family: inherit;"><span abp="4110" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">16</span><span abp="4111" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4112"></o:p></span></span></div>
</div>
</td> <td abp="4113" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 63.75pt;" width="64"><div abp="4114" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4115">
<span abp="4116" style="font-family: inherit;"><span abp="4117" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">2</span><span abp="4118" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4119"></o:p></span></span></div>
</div>
</td> <td abp="4120" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 49.65pt;" width="50"><div abp="4121" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4122">
<span abp="4123" style="font-family: inherit;"><span abp="4124" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">314</span><span abp="4125" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4126"></o:p></span></span></div>
</div>
</td> </tr>
</tbody></table>
<div abp="4127" class="MsoNormal">
<div abp="4128">
<span abp="4129" style="font-family: inherit;"><br abp="4130" /></span></div>
</div>
<div abp="4131" class="MsoNormal">
<div abp="4132">
<b abp="4133" style="mso-bidi-font-weight: normal;"><u abp="4134"><span abp="4135" lang="EN-US" style="font-family: inherit; mso-ansi-language: EN-US;">Usage of host instances<o:p abp="4136"></o:p></span></u></b></div>
<div abp="4137">
<b abp="4138" style="mso-bidi-font-weight: normal;"><u abp="4139"><span abp="4140" lang="EN-US" style="font-family: inherit; mso-ansi-language: EN-US;"><br abp="4141" /></span></u></b></div>
</div>
<div abp="4142" class="MsoNormal">
<div abp="4143">
<span abp="4144" lang="EN-US" style="font-family: inherit; font-size: 10pt; line-height: 115%; mso-ansi-language: EN-US; mso-bidi-font-size: 11.0pt;">SELECT count(Convert(char(10), [dta_ServiceInstances].[dtInsertionTimeStamp], 108)) as ant, [dta_Host].[strHostName]<br abp="4145" />
FROM [BizTalkDTADb].[dbo].[dta_ServiceInstances] WITH (NOLOCK)<br abp="4146" />
INNER JOIN [BizTalkDTADb].[dbo].[dta_Host] WITH (NOLOCK) ON<br abp="4147" />
[dta_ServiceInstances].[nHostId]=[dta_Host].[nHostId]<br abp="4148" />
WHERE [dtInsertionTimeStamp]<br abp="4149" />
BETWEEN convert(datetime ,'2014-02-10 00:00:00', 120) AND convert(datetime, '2014-02-10 23:59:59', 120)<br abp="4150" />
GROUP BY [dta_Host].[strHostName] ORDER BY [dta_Host].[strHostName] ASC<o:p abp="4151"></o:p></span></div>
<div abp="4152">
<span abp="4153" lang="EN-US" style="font-family: inherit; font-size: 10pt; line-height: 115%; mso-ansi-language: EN-US; mso-bidi-font-size: 11.0pt;"><br abp="4154" /></span></div>
</div>
<div abp="4155" class="MsoNormal" style="text-align: justify;">
<div abp="4156">
<span abp="4157" lang="EN-US" style="font-family: inherit; mso-ansi-language: EN-US;">In this script, a choice can be made in terms of grouping. When you want to have just the numbers of a timeframe (for example: between feb 01 and feb 15, there were 23,765 calls of MQHostReceive), just add the timeframe in the “BETWEEN” field. If you want the data grouped by day, the script needs to be executed once for every day you want the statistics. Set the “BETWEEN” to 2014-02-12 00:00:00 and 2014-02-12 23:59:59 for example, and you will get the following results:<o:p abp="4158"></o:p></span></div>
<div abp="4159">
<span abp="4160" lang="EN-US" style="font-family: inherit; mso-ansi-language: EN-US;"><br abp="4161" /></span></div>
</div>
<table abp="4162" border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; border: currentColor; mso-border-alt: solid windowtext .5pt; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-table-layout-alt: fixed; width: 202px;"><tbody abp="4163">
<tr abp="4164" style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td abp="4165" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 37pt;" width="37"><div abp="4166" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none;">
<div abp="4167">
<span abp="4168" style="font-family: inherit;"><span abp="4169" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">ant</span><span abp="4170" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4171"></o:p></span></span></div>
</div>
</td> <td abp="4172" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 155pt;" width="155"><div abp="4173" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none;">
<div abp="4174">
<span abp="4175" style="font-family: inherit;"><span abp="4176" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">strHostName</span><span abp="4177" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4178"></o:p></span></span></div>
</div>
</td> </tr>
<tr abp="4179" style="mso-yfti-irow: 1;"> <td abp="4180" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 37pt;" width="37"><div abp="4181" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4182">
<span abp="4183" style="font-family: inherit;"><span abp="4184" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">303</span><span abp="4185" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4186"></o:p></span></span></div>
</div>
</td> <td abp="4187" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 155pt;" width="155"><div abp="4188" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none;">
<div abp="4189">
<span abp="4190" style="font-family: inherit;"><span abp="4191" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">NWND_BAM</span><span abp="4192" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4193"></o:p></span></span></div>
</div>
</td> </tr>
<tr abp="4194" style="mso-yfti-irow: 2;"> <td abp="4195" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 37pt;" width="37"><div abp="4196" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4197">
<span abp="4198" style="font-family: inherit;"><span abp="4199" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">301</span><span abp="4200" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4201"></o:p></span></span></div>
</div>
</td> <td abp="4202" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 155pt;" width="155"><div abp="4203" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none;">
<div abp="4204">
<span abp="4205" style="font-family: inherit;"><span abp="4206" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">NWND_BizTalkServerAdministation</span><span abp="4207" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4208"></o:p></span></span></div>
</div>
</td> </tr>
<tr abp="4209" style="mso-yfti-irow: 3;"> <td abp="4210" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 37pt;" width="37"><div abp="4211" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4212">
<span abp="4213" style="font-family: inherit;"><span abp="4214" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">23217</span><span abp="4215" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4216"></o:p></span></span></div>
</div>
</td> <td abp="4217" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 155pt;" width="155"><div abp="4218" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none;">
<div abp="4219">
<span abp="4220" style="font-family: inherit;"><span abp="4221" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">NWND_BizTalkServerApplication</span><span abp="4222" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4223"></o:p></span></span></div>
</div>
</td> </tr>
<tr abp="4224" style="mso-yfti-irow: 4;"> <td abp="4225" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 37pt;" width="37"><div abp="4226" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4227">
<span abp="4228" style="font-family: inherit;"><span abp="4229" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">15</span><span abp="4230" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4231"></o:p></span></span></div>
</div>
</td> <td abp="4232" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 155pt;" width="155"><div abp="4233" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none;">
<div abp="4234">
<span abp="4235" style="font-family: inherit;"><span abp="4236" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">NWND_ClusteredHost_RCV</span><span abp="4237" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4238"></o:p></span></span></div>
</div>
</td> </tr>
<tr abp="4239" style="mso-yfti-irow: 5;"> <td abp="4240" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 37pt;" width="37"><div abp="4241" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4242">
<span abp="4243" style="font-family: inherit;"><span abp="4244" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">18</span><span abp="4245" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4246"></o:p></span></span></div>
</div>
</td> <td abp="4247" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 155pt;" width="155"><div abp="4248" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none;">
<div abp="4249">
<span abp="4250" style="font-family: inherit;"><span abp="4251" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">NWND_ClusteredHost_SND</span><span abp="4252" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4253"></o:p></span></span></div>
</div>
</td> </tr>
<tr abp="4254" style="mso-yfti-irow: 6;"> <td abp="4255" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 37pt;" width="37"><div abp="4256" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4257">
<span abp="4258" style="font-family: inherit;"><span abp="4259" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">48481</span><span abp="4260" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4261"></o:p></span></span></div>
</div>
</td> <td abp="4262" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 155pt;" width="155"><div abp="4263" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none;">
<div abp="4264">
<span abp="4265" style="font-family: inherit;"><span abp="4266" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">NWND_MQConnectionHost_RCV</span><span abp="4267" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4268"></o:p></span></span></div>
</div>
</td> </tr>
<tr abp="4269" style="mso-yfti-irow: 7;"> <td abp="4270" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 37pt;" width="37"><div abp="4271" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4272">
<span abp="4273" style="font-family: inherit;"><span abp="4274" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">18127</span><span abp="4275" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4276"></o:p></span></span></div>
</div>
</td> <td abp="4277" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 155pt;" width="155"><div abp="4278" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none;">
<div abp="4279">
<span abp="4280" style="font-family: inherit;"><span abp="4281" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">NWND_MQConnectionHost_SND</span><span abp="4282" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4283"></o:p></span></span></div>
</div>
</td> </tr>
<tr abp="4284" style="mso-yfti-irow: 8;"> <td abp="4285" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 37pt;" width="37"><div abp="4286" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4287">
<span abp="4288" style="font-family: inherit;"><span abp="4289" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">10836</span><span abp="4290" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4291"></o:p></span></span></div>
</div>
</td> <td abp="4292" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 155pt;" width="155"><div abp="4293" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none;">
<div abp="4294">
<span abp="4295" style="font-family: inherit;"><span abp="4296" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">NWND_SAPProcessingHost</span><span abp="4297" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4298"></o:p></span></span></div>
</div>
</td> </tr>
<tr abp="4299" style="mso-yfti-irow: 9;"> <td abp="4300" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 37pt;" width="37"><div abp="4301" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4302">
<span abp="4303" style="font-family: inherit;"><span abp="4304" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">164</span><span abp="4305" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4306"></o:p></span></span></div>
</div>
</td> <td abp="4307" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 155pt;" width="155"><div abp="4308" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none;">
<div abp="4309">
<span abp="4310" style="font-family: inherit;"><span abp="4311" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">NWND_SAPLendingHost</span><span abp="4312" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4313"></o:p></span></span></div>
</div>
</td> </tr>
<tr abp="4314" style="mso-yfti-irow: 10;"> <td abp="4315" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 37pt;" width="37"><div abp="4316" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4317">
<span abp="4318" style="font-family: inherit;"><span abp="4319" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">2653</span><span abp="4320" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4321"></o:p></span></span></div>
</div>
</td> <td abp="4322" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 155pt;" width="155"><div abp="4323" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none;">
<div abp="4324">
<span abp="4325" style="font-family: inherit;"><span abp="4326" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">NWND_SIEBELProcessingHost</span><span abp="4327" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4328"></o:p></span></span></div>
</div>
</td> </tr>
<tr abp="4329" style="mso-yfti-irow: 11;"> <td abp="4330" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 37pt;" width="37"><div abp="4331" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4332">
<span abp="4333" style="font-family: inherit;"><span abp="4334" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">16746</span><span abp="4335" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4336"></o:p></span></span></div>
</div>
</td> <td abp="4337" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 155pt;" width="155"><div abp="4338" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none;">
<div abp="4339">
<span abp="4340" style="font-family: inherit;"><span abp="4341" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">NWND_TECHNICOMProcessingHost</span><span abp="4342" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4343"></o:p></span></span></div>
</div>
</td> </tr>
<tr abp="4344" style="mso-yfti-irow: 12; mso-yfti-lastrow: yes;"> <td abp="4345" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 37pt;" width="37"><div abp="4346" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4347">
<span abp="4348" style="font-family: inherit;"><span abp="4349" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">6508</span><span abp="4350" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4351"></o:p></span></span></div>
</div>
</td> <td abp="4352" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 155pt;" width="155"><div abp="4353" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none;">
<div abp="4354">
<span abp="4355" lang="EN-US" style="font-family: inherit; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">NWND_WCFHost<o:p abp="4356"></o:p></span></div>
</div>
</td> </tr>
</tbody></table>
<div abp="4357" class="MsoNormal" style="text-align: justify;">
<div abp="4358">
<span abp="4359" style="font-family: inherit;"><br abp="4360" /></span></div>
</div>
<div abp="4361" class="MsoNormal" style="text-align: justify;">
<div abp="4362">
<b abp="4363" style="mso-bidi-font-weight: normal;"><u abp="4364"><span abp="4365" lang="EN-US" style="font-family: inherit; mso-ansi-language: EN-US;">Largest message(s)<o:p abp="4366"></o:p></span></u></b></div>
<div abp="4367">
<b abp="4368" style="mso-bidi-font-weight: normal;"><u abp="4369"><span abp="4370" lang="EN-US" style="font-family: inherit; mso-ansi-language: EN-US;"><br abp="4371" /></span></u></b></div>
</div>
<div abp="4372" class="MsoNormal">
<div abp="4373">
<span abp="4374" lang="EN-US" style="font-family: inherit; font-size: 10pt; line-height: 115%; mso-ansi-language: EN-US; mso-bidi-font-size: 11.0pt;">SELECT TOP 5 [dta_MessageInOutEvents].[nMessageSize], [dta_SchemaName].[strSchemaName]<br abp="4375" />
FROM [BizTalkDTADb].[dbo].[dta_MessageInOutEvents] WITH (NOLOCK)<br abp="4376" />
INNER JOIN [BizTalkDTADb].[dbo].[dta_SchemaName] WITH (NOLOCK) ON<br abp="4377" />
[dta_MessageInOutEvents].[nSchemaId]=[dta_SchemaName].[nSchemaId]<br abp="4378" />
WHERE [dtInsertionTimeStamp]<br abp="4379" />
BETWEEN convert(datetime ,'2014-01-01 00:00:00', 120) AND convert(datetime, '2014-01-01 23:59:59', 120)<br abp="4380" />
ORDER BY [nMessageSize] DESC<o:p abp="4381"></o:p></span></div>
<div abp="4382">
<span abp="4383" lang="EN-US" style="font-family: inherit; font-size: 10pt; line-height: 115%; mso-ansi-language: EN-US; mso-bidi-font-size: 11.0pt;"><br abp="4384" /></span></div>
</div>
<div abp="4385" class="MsoNormal">
<div abp="4386">
<span abp="4387" lang="EN-US" style="font-family: inherit; mso-ansi-language: EN-US;">This script will get a top 5 of all the largest messages that passed through BizTalk in the given timeframe. A result like following will pop up:<o:p abp="4388"></o:p></span></div>
<div abp="4389">
<span abp="4390" lang="EN-US" style="font-family: inherit; mso-ansi-language: EN-US;"><br abp="4391" /></span></div>
</div>
<table abp="4392" border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; border: currentColor; mso-border-alt: solid windowtext .5pt; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-table-layout-alt: fixed; width: 289px;"><tbody abp="4393">
<tr abp="4394" style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"> <td abp="4395" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 76.3pt;" width="76"><div abp="4396" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4397">
<span abp="4398" style="font-family: inherit;"><span abp="4399" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">nMessageSize</span><span abp="4400" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4401"></o:p></span></span></div>
</div>
</td> <td abp="4402" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 212.6pt;" width="213"><div abp="4403" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4404">
<span abp="4405" style="font-family: inherit;"><span abp="4406" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">strSchemaName</span><span abp="4407" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4408"></o:p></span></span></div>
</div>
</td> </tr>
<tr abp="4409" style="mso-yfti-irow: 1;"> <td abp="4410" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 76.3pt;" width="76"><div abp="4411" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4412">
<span abp="4413" style="font-family: inherit;"><span abp="4414" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">28272537</span><span abp="4415" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4416"></o:p></span></span></div>
</div>
</td> <td abp="4417" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 212.6pt;" width="213"><div abp="4418" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4419">
<span abp="4420" style="font-family: inherit;"><u abp="4421" style="text-underline: blue;"><span abp="4422" lang="EN-US" style="color: blue; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">http://NWD.DataSchema.Issuer.Schemas#Issuers</span></u><span abp="4423" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4424"></o:p></span></span></div>
</div>
</td> </tr>
<tr abp="4425" style="mso-yfti-irow: 2;"> <td abp="4426" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 76.3pt;" width="76"><div abp="4427" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4428">
<span abp="4429" style="font-family: inherit;"><span abp="4430" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">28272537</span><span abp="4431" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4432"></o:p></span></span></div>
</div>
</td> <td abp="4433" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 212.6pt;" width="213"><div abp="4434" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4435">
<span abp="4436" lang="EN-US" style="font-family: inherit; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><a abp="4437" href="http://dam.common.issuer.schemas/#Issuers"><span abp="4438" style="color: blue; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">http://<u abp="4421" style="color: black; font-size: medium;"><span abp="4422" lang="EN-US" style="color: blue; font-size: 10pt;">NWD.DataSchema.</span></u>Issuer.Schemas#Issuers</span></a><o:p abp="4439"></o:p></span></div>
</div>
</td> </tr>
<tr abp="4440" style="mso-yfti-irow: 3;"> <td abp="4441" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 76.3pt;" width="76"><div abp="4442" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4443">
<span abp="4444" style="font-family: inherit;"><span abp="4445" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">28272537</span><span abp="4446" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4447"></o:p></span></span></div>
</div>
</td> <td abp="4448" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 212.6pt;" width="213"><div abp="4449" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4450">
<span abp="4451" lang="EN-US" style="font-family: inherit; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><a abp="4452" href="http://dam.common.issuer.schemas/#Issuers"><span abp="4453" style="color: blue; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">http://<u abp="4421" style="color: black; font-size: medium;"><span abp="4422" lang="EN-US" style="color: blue; font-size: 10pt;">NWD.DataSchema.</span></u>Issuer.Schemas#Issuers</span></a><o:p abp="4454"></o:p></span></div>
</div>
</td> </tr>
<tr abp="4455" style="mso-yfti-irow: 4;"> <td abp="4456" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 76.3pt;" width="76"><div abp="4457" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4458">
<span abp="4459" style="font-family: inherit;"><span abp="4460" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">28255369</span><span abp="4461" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4462"></o:p></span></span></div>
</div>
</td> <td abp="4463" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 212.6pt;" width="213"><div abp="4464" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4465">
<span abp="4466" lang="EN-US" style="font-family: inherit; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><a abp="4467" href="http://dam.common.issuer.schemas/#Issuers"><span abp="4468" style="color: blue; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">http://<u abp="4421" style="color: black; font-size: medium;"><span abp="4422" lang="EN-US" style="color: blue; font-size: 10pt;">NWD.DataSchema.</span></u>Issuer.Schemas#Issuers</span></a><o:p abp="4469"></o:p></span></div>
</div>
</td> </tr>
<tr abp="4470" style="mso-yfti-irow: 5; mso-yfti-lastrow: yes;"> <td abp="4471" style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 76.3pt;" width="76"><div abp="4472" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4473">
<span abp="4474" style="font-family: inherit;"><span abp="4475" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">28255369</span><span abp="4476" lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><o:p abp="4477"></o:p></span></span></div>
</div>
</td> <td abp="4478" style="border-color: currentColor windowtext windowtext currentColor; border-style: none solid solid none; border-width: medium 1pt 1pt medium; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 212.6pt;" width="213"><div abp="4479" align="right" class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; mso-pagination: none; text-align: right;">
<div abp="4480">
<span abp="4481" lang="EN-US" style="font-family: inherit; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-font-size: 14.0pt;"><a abp="4482" href="http://dam.common.issuer.schemas/#Issuers"><span abp="4483" style="color: blue; mso-bidi-font-family: Arial; mso-bidi-font-size: 13.0pt;">http://<u abp="4421" style="color: black; font-size: medium;"><span abp="4422" lang="EN-US" style="color: blue; font-size: 10pt;">NWD.DataSchema.</span></u>Issuer.Schemas#Issuers</span></a><o:p abp="4484"></o:p></span></div>
</div>
</td> </tr>
</tbody></table>
<div abp="4485" class="MsoNormal">
<div abp="4486">
<span abp="4487" style="font-family: inherit;"><br abp="4488" /></span></div>
</div>
<div abp="4489" class="MsoNormal">
<div abp="4490">
<span abp="4491" lang="EN-US" style="font-family: inherit; mso-ansi-language: EN-US;">If you got any remarks, please leave them in the comment section!<o:p abp="4492"></o:p></span></div>
</div>
<div abp="4493" class="MsoNormal">
<div abp="4494">
<span abp="4495" style="font-family: inherit;"><br abp="4496" /></span></div>
</div>
<div abp="4497">
<!--[if gte mso 9]><xml> <o:DocumentProperties> <o:Revision>0</o:Revision> <o:TotalTime>0</o:TotalTime> <o:Pages>1</o:Pages> <o:Words>713</o:Words> <o:Characters>4069</o:Characters> <o:Company>I8C</o:Company> <o:Lines>33</o:Lines> <o:Paragraphs>9</o:Paragraphs> <o:CharactersWithSpaces>4773</o:CharactersWithSpaces> <o:Version>14.0</o:Version> </o:DocumentProperties> <o:OfficeDocumentSettings> <o:AllowPNG/> </o:OfficeDocumentSettings> </xml><![endif]--> <!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:TrackMoves/> <w:TrackFormatting/> <w:PunctuationKerning/> <w:ValidateAgainstSchemas/> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:DoNotPromoteQF/> <w:LidThemeOther>NL-BE</w:LidThemeOther> <w:LidThemeAsian>JA</w:LidThemeAsian> <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript> <w:Compatibility> <w:BreakWrappedTables/> <w:SnapToGridInCell/> <w:WrapTextWithPunct/> <w:UseAsianBreakRules/> <w:DontGrowAutofit/> <w:SplitPgBreakAndParaMark/> <w:EnableOpenTypeKerning/> <w:DontFlipMirrorIndents/> <w:OverrideTableStyleHps/> </w:Compatibility> <m:mathPr> <m:mathFont m:val="Cambria Math"/> <m:brkBin m:val="before"/> <m:brkBinSub m:val="--"/> <m:smallFrac m:val="off"/> <m:dispDef/> <m:lMargin m:val="0"/> <m:rMargin m:val="0"/> <m:defJc m:val="centerGroup"/> <m:wrapIndent m:val="1440"/> <m:intLim m:val="subSup"/> <m:naryLim m:val="undOvr"/> </m:mathPr></w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="276"> <w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/> <w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/> <w:LsdException Locked="false" Priority="39" Name="toc 1"/> <w:LsdException Locked="false" Priority="39" Name="toc 2"/> <w:LsdException Locked="false" Priority="39" Name="toc 3"/> <w:LsdException Locked="false" Priority="39" Name="toc 4"/> <w:LsdException Locked="false" Priority="39" Name="toc 5"/> <w:LsdException Locked="false" Priority="39" Name="toc 6"/> <w:LsdException Locked="false" Priority="39" Name="toc 7"/> <w:LsdException Locked="false" Priority="39" Name="toc 8"/> <w:LsdException Locked="false" Priority="39" Name="toc 9"/> <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/> <w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/> <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/> <w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/> <w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/> <w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/> <w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/> <w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/> <w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/> <w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/> <w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/> <w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/> <w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/> <w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/> <w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/> <w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/> <w:LsdException Locked="false" Priority="37" Name="Bibliography"/> <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/> </w:LatentStyles> </xml><![endif]--> <!--[if gte mso 10]> <style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin-top:0cm;
mso-para-margin-right:0cm;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0cm;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:Calibri;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-ansi-language:NL-BE;}
</style> <![endif]--> <!--StartFragment--> <!--EndFragment--></div>
<div abp="4498" class="MsoNormal">
<div abp="4499">
<span abp="4500" lang="EN-US" style="mso-ansi-language: EN-US;"><span abp="4501" style="font-family: inherit;">Andrew De Bruyne (@draitnn)</span><o:p abp="4502"></o:p></span></div>
</div>
i8chttp://www.blogger.com/profile/05003002313779050051noreply@blogger.com0tag:blogger.com,1999:blog-8507185344691363497.post-65119847804994773612014-05-02T08:30:00.000+02:002014-05-06T14:05:44.911+02:00BizTalk MQSeries Adapter COM+ Error 80004005<div abp="1085" class="MsoNormal" style="text-align: justify;">
<div abp="1086">
When connecting BizTalk to Websphere MQ, you can choose between two options: <o:p abp="1087"></o:p></div>
</div>
<div abp="1088" class="MsoNormal" style="text-align: justify;">
<div abp="1089">
<br /></div>
</div>
<div abp="1090" class="MsoListParagraphCxSpFirst" style="margin-left: 54pt; mso-add-space: auto; mso-list: l0 level1 lfo1; text-align: justify; text-indent: -18pt;">
<div abp="1091">
<span abp="1092" style="mso-ascii-font-family: Cambria; mso-bidi-font-family: Cambria; mso-fareast-font-family: Cambria; mso-hansi-font-family: Cambria;"><span abp="1093" style="mso-list: Ignore;">-<span abp="1094" style="font-size-adjust: none; font-stretch: normal; font: 7pt 'Times New Roman';"> </span></span></span>MQSC adapter (Client based)<o:p abp="1095"></o:p></div>
</div>
<div abp="1096" class="MsoListParagraphCxSpLast" style="margin-left: 54pt; mso-add-space: auto; mso-list: l0 level1 lfo1; text-align: justify; text-indent: -18pt;">
<div abp="1097">
<span abp="1098" style="mso-ascii-font-family: Cambria; mso-bidi-font-family: Cambria; mso-fareast-font-family: Cambria; mso-hansi-font-family: Cambria;"><span abp="1099" style="mso-list: Ignore;">-<span abp="1100" style="font-size-adjust: none; font-stretch: normal; font: 7pt 'Times New Roman';"> </span></span></span>MQSeries (Server based)<o:p abp="1101"></o:p></div>
</div>
<div abp="1102" class="MsoNormal" style="text-align: justify;">
<div abp="1103">
<br /></div>
</div>
<div abp="1104" class="MsoNormal" style="text-align: justify;">
<div abp="1105">
My current client chose to use the MQSeries adapter to connect to Websphere MQ. The core of this adapter is a COM+ component running on the BizTalk server which will handle all processing. <o:p abp="1106"></o:p></div>
</div>
<div abp="1107" class="MsoNormal" style="text-align: justify;">
<div abp="1108">
<br /></div>
</div>
<div abp="1109" class="MsoNormal" style="text-align: justify;">
<div abp="1110">
<b abp="1111" style="mso-bidi-font-weight: normal;">Issue<o:p abp="1112"></o:p></b></div>
</div>
<div abp="1113" class="MsoNormal" style="text-align: justify;">
<div abp="1114">
<br /></div>
</div>
<div abp="1115" class="MsoNormal" style="text-align: justify;">
<div abp="1116">
Normally, all processing runs smoothly. But sometimes, when executing a new installation of an application on BizTalk, we started receiving the following error-message:<o:p abp="1117"></o:p></div>
</div>
<div abp="1118" class="MsoNormal" style="text-align: justify;">
<div abp="1119">
<br /></div>
</div>
<div abp="1120" align="center" class="MsoNormal" style="text-align: center;">
<div abp="1121">
<i abp="1122" style="mso-bidi-font-style: normal;">“Retrieving the COM class factory for remote component with CLSID {} from machine xx failed due to the following error: 80004005”<o:p abp="1123"></o:p></i></div>
</div>
<div abp="1124" class="MsoNormal" style="text-align: justify;">
<div abp="1125">
<br /></div>
</div>
<div abp="1126" class="MsoNormal" style="text-align: justify;">
<div abp="1127">
Also, we noticed that all messages that were sent to the MQSeries adapter, were staying in status Started with the same error. All processing was gone and nothing was going to or coming from MQ.<o:p abp="1128"></o:p></div>
</div>
<div abp="1129" class="MsoNormal" style="text-align: justify;">
<div abp="1130">
<br /></div>
</div>
<div abp="1131" class="MsoNormal" style="text-align: justify;">
<div abp="1132">
<o:p abp="1133"><br abp="1134" /></o:p></div>
</div>
<div abp="1135" class="separator" style="clear: both; text-align: center;">
<a abp="1136" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7kTcRAJ0pJW1iX2ZQy8etF8cPld1yR75f2RxCOjhIj3R63iVU20LVlbJCMQg3rvw6L0AcywGcxSUhxlD0OHcHonJyej6Whdg5xA74NnTGm_Xv7HHJik3eDDMW4Loi61f3vFfeaXdCgBM/s1600/Components_new.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img abp="1137" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7kTcRAJ0pJW1iX2ZQy8etF8cPld1yR75f2RxCOjhIj3R63iVU20LVlbJCMQg3rvw6L0AcywGcxSUhxlD0OHcHonJyej6Whdg5xA74NnTGm_Xv7HHJik3eDDMW4Loi61f3vFfeaXdCgBM/s1600/Components_new.png" height="270" width="400" /></a></div>
<div abp="1138" class="MsoNormal" style="text-align: justify;">
<div abp="1139">
<br /></div>
</div>
<div abp="1140" class="MsoNormal" style="text-align: justify;">
<div abp="1141">
<br /></div>
</div>
<div abp="1142" class="MsoNormal" style="text-align: justify;">
<div abp="1143">
When first checking the running component, we didn’t see anything weird. Everything was running fine. We looked into the issue for quite some hours but didn’t find anything that was causing the problems. <o:p abp="1144"></o:p></div>
</div>
<div abp="1145" class="MsoNormal" style="text-align: justify;">
<div abp="1146">
<br /></div>
</div>
<div abp="1147" class="MsoNormal" style="text-align: justify;">
<div abp="1148">
<b abp="1149" style="mso-bidi-font-weight: normal;">Solution<o:p abp="1150"></o:p></b></div>
</div>
<div abp="1151" class="MsoNormal" style="text-align: justify;">
<div abp="1152">
<br /></div>
</div>
<div abp="1153" class="MsoNormal" style="text-align: justify;">
<div abp="1154">
The problem itself lays in the fact that the COM+ component can recycle itself but that the recycle doesn’t work properly. So we don’t see any “extra” failing instances of the component but things change when we boot up the process explorer:<o:p abp="1155"></o:p></div>
</div>
<div abp="1156" class="MsoNormal" style="text-align: justify;">
<div abp="1157">
<br /></div>
</div>
<div abp="1158" class="MsoNormal" style="text-align: justify;">
<div abp="1159">
<br /></div>
</div>
<div abp="1160" class="separator" style="clear: both; text-align: center;">
<a abp="1161" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4hzlYMautKh9tUdz9_Hu5mYLVuaUfS_n_BXB5OKL1Kyp0kJ0tkT-GvEnoN_pBX2VEKTmIaW40YhryHR4daQUUNKfCWD1le4VOjwZQh11j7ehQatcB5fsCxQllaxgUPN2QCNmU8CAen0E/s1600/Processes_new.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img abp="1162" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4hzlYMautKh9tUdz9_Hu5mYLVuaUfS_n_BXB5OKL1Kyp0kJ0tkT-GvEnoN_pBX2VEKTmIaW40YhryHR4daQUUNKfCWD1le4VOjwZQh11j7ehQatcB5fsCxQllaxgUPN2QCNmU8CAen0E/s1600/Processes_new.png" height="297" width="400" /></a></div>
<div abp="1163" class="MsoNormal" style="text-align: justify;">
<div abp="1164">
<br /></div>
</div>
<div abp="1165" class="MsoNormal" style="text-align: justify;">
<div abp="1166">
<br /></div>
</div>
<div abp="1167" class="MsoNormal" style="text-align: justify;">
<div abp="1168">
We see two instances of the component! We can tell this for sure since the MQSAgent2 is the only thing running under this specific account (check the properties of a process – right click – properties). So there is an instance running correctly, but an old one, which isn’t visible in the running, processes on the Component Services, but still present in the windows processes. This faulty component is still taking in all the incoming requests. <o:p abp="1169"></o:p></div>
</div>
<div abp="1170" class="MsoNormal" style="text-align: justify;">
<div abp="1171">
<br /></div>
</div>
<div abp="1172" class="MsoNormal" style="text-align: justify;">
<div abp="1173">
Only thing to figure out now is the process id of the component that is currently running. This process id is visible in the components mmc.</div>
</div>
<div abp="1174" class="MsoNormal" style="text-align: justify;">
<div abp="1175">
<br /></div>
</div>
<div abp="1176" class="separator" style="clear: both; text-align: center;">
<a abp="1177" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuVP5PHg3nHoMn7wJI-enAkoc_s4p8P3n9t-xqZOXJnnMnsrgMaJULsy057RFXhBT01ejDFggVkCXwBDFQhsfjjO7t8-CTHPlS05UwoUt0UiP3Ykndf3YQcQTc5bjFgAa4zLquW7uXPuc/s1600/component_detail.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img abp="1178" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuVP5PHg3nHoMn7wJI-enAkoc_s4p8P3n9t-xqZOXJnnMnsrgMaJULsy057RFXhBT01ejDFggVkCXwBDFQhsfjjO7t8-CTHPlS05UwoUt0UiP3Ykndf3YQcQTc5bjFgAa4zLquW7uXPuc/s1600/component_detail.png" /></a></div>
<div abp="1179" class="MsoNormal" style="text-align: justify;">
<div abp="1180">
<br /></div>
</div>
<div abp="1181" class="MsoNormal" style="text-align: justify;">
<div abp="1182">
It’s now just a matter of killing the other component to resolve the issue.<o:p abp="1183"></o:p></div>
</div>
<div abp="1184" class="MsoNormal" style="text-align: justify;">
<div abp="1185">
<br /></div>
</div>
<div abp="1186" class="MsoNormal" style="text-align: justify;">
<div abp="1187">
<b abp="1188" style="mso-bidi-font-weight: normal;">Extra<o:p abp="1189"></o:p></b></div>
</div>
<div abp="1190" class="MsoNormal" style="text-align: justify;">
<div abp="1191">
<br /></div>
</div>
<div abp="1192" class="MsoNormal" style="text-align: justify;">
<div abp="1193">
The other measure we took to avoid extra downtime of the environment was raising the pool size of the component. This means that when a component starts to recycle another component is started which will automatically take in all the new requests while the other is still recycling. This can be set in the properties of the component.<o:p abp="1194"></o:p></div>
</div>
<div abp="1195" class="MsoNormal" style="text-align: justify;">
<div abp="1196">
<br /></div>
</div>
<div abp="1197" class="MsoNormal" style="text-align: justify;">
<div abp="1198">
Any questions can be put in the comments, or you can contact me through twitter directly. <o:p abp="1199"></o:p></div>
</div>
<div abp="1200" class="MsoNormal" style="text-align: justify;">
<div abp="1201">
<br /></div>
</div>
<div abp="1202" class="MsoNormal" style="text-align: justify;">
<div abp="1203">
Andrew De Bruyne (Twitter: @draitnn)</div>
</div>
i8chttp://www.blogger.com/profile/05003002313779050051noreply@blogger.com1tag:blogger.com,1999:blog-8507185344691363497.post-2925993575027503582014-04-25T10:30:00.000+02:002014-04-25T10:30:01.979+02:00Bug in WebMethods OneData MDM 9.5 standard configurationWhen you install WebMethods OneData MDM 9.5 using the Software AG installer, 2 database connections will be created by default as shown in the image below:<br />
1) STG: connection to the Work Area<br />
2) PRD: connection to the Release Area<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDBFf8v4Hz4csoFNeUkn5pS_Mn1tqIs3iXL-rM8Ij12tg45duxyzzTitHq03BzYytSYvBjgvHuhpSW3Y9REi5pZUtLxwcei-HxDQ52be4spONE3zwJInHqwc2QY5N2KEEfLNnYGFXNUYo/s1600/OneDataConnections.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDBFf8v4Hz4csoFNeUkn5pS_Mn1tqIs3iXL-rM8Ij12tg45duxyzzTitHq03BzYytSYvBjgvHuhpSW3Y9REi5pZUtLxwcei-HxDQ52be4spONE3zwJInHqwc2QY5N2KEEfLNnYGFXNUYo/s1600/OneDataConnections.PNG" height="88" width="400" /></a></div>
<br />
<br />
The parameters for both connections are by default configured using JNDI. The corresponding full config details can be found in the Tomcat config file <install dir>\profiles\ODE\configuration\tomcat\conf\context.xml. These contain JDBC URL, username, password,... Although the username is specified in the JNDI context in the context.xml file, it is also by default specified in the connection details in OneData as shown in the image below.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnrOHF6FPO3LBMvhMA4mES9xzHjkZqbuuYKxuDfhEiqH9D-auF5YvOnD6wD3fzzoy7rtfVow06DpoDSUaRqXmRnmRP2XOxnU3Wl1Tv-6RTjP4alUZyks9w-Y7SLjFStSUfeDMrV4Tiso0/s1600/OneDataConnection.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnrOHF6FPO3LBMvhMA4mES9xzHjkZqbuuYKxuDfhEiqH9D-auF5YvOnD6wD3fzzoy7rtfVow06DpoDSUaRqXmRnmRP2XOxnU3Wl1Tv-6RTjP4alUZyks9w-Y7SLjFStSUfeDMrV4Tiso0/s1600/OneDataConnection.PNG" height="297" width="400" /></a></div>
<br />
The value of the User-ID parameter seems be generated automatically and composed out of the connection prefix you define during the installation in SAG Installer, concatenated with the suffix "_wa" for the work area connection and "_ra" for the release area connection.<br />
<br />
Although it seems that this configuration is working fine, this is actually not 100% the case. It turns out that when the value in the User-ID parameter doesn't correspond with the actual Oracle username (which is very likely), some functionality like the "Schema Update" to create new Objects from existing tables in the Release Area will not work (existing tables are not shown in OneData UI). So in order to avoid potential unexpected behavior in OneData you should update the User-ID parameter after installation to the actual Oracle username (so identical to the username in context.xml).<br />
<br />
Another solution is to not use the JNDI config and copy all the configuration details from the context.xml file to the corresponding fields in the Connection Parameters form in OneData.<br />
<br />
This problem also seems to occur in OneData 9.0. I haven't been able yet to verify it in version 9.6. but I couldn't find any record of this error on Software AG Empower, so the bug probably still exists in version 9.6 also.<br />
<br />
Author: Kristof Lievens<br />
<br />i8chttp://www.blogger.com/profile/05003002313779050051noreply@blogger.com0tag:blogger.com,1999:blog-8507185344691363497.post-87099364883548389452014-04-07T10:00:00.000+02:002014-04-24T22:36:22.411+02:00Fixing HTTP redirect for ARIS 9.5 Design Server after an IP address changeI recently moved a Windows Server 2012 virtual machine running ARIS 9.5 Design Server, from my laptop running VMWare Workstation to a VMWare ESX 5.5 host. My Windows Server 2012 VM has one single network adapter and changing the VM host implied that the IP address of the VM had to be changed because the VM hosts were running in different netwerk segements (my Windows Server 2012 network connection had DHCP enabled, so the IP address changed automatically actually).<br />
<br />
After moving my VM, I was able to start ARIS Design Server without a problem, but to my surprise, my browser was redirected to my old IP address every time I tried to connect to the ARIS Design server at default port 5480, even when I used the new IP address of my server or "localhost" as hostname. Turns out that the old IP address was still used by the load balancer component in ARIS Design Server. To fix this problem, you have to update the "httpd.conf" configuration file in the folder <ARIS install root>\server\bin\work\work_loadbalancer_m\httpd\conf. Look for the "ServerName", "RewriteCond" and "RewriteRule" parameters and update them with the new IP address. After restarting the ARIS Design Server, the redirect in my browser worked correctly.<br />
<br />
Author: Kristof Lievensi8chttp://www.blogger.com/profile/05003002313779050051noreply@blogger.com0