Your source of geek knowledge

Composite UI for Service Oriented Systems – Mashup means bringing it together

This blogpost is part of a larger blog post series. Get the overview of the content here.

Slide83

A frontend is not owned by a single “thing”. It is a mashup of multiple “things” combined together to provide a single user experience. Looking at it from the deployment perspective we can say that many “things” can be deployed to the same box, many “things” can be deployed in the same app, many “things” can cooperate in a workflow and many “things” can be mashed up in the same page. Which brings us directly to service composition. Continue reading

 

Composite UI for Service Oriented Systems – Immutable and stable

This blogpost is part of a larger blog post series. Get the overview of the content here.

Slide76

Immutable data is unchangeable once it is written. An immutable data needs an identifier which allows to always return the same data no matter when it is requested or where it is request. Immutable data can be found everywhere in the real world. Continue reading

 

Composite UI for Service Oriented Systems – Services are not webservices

This blogpost is part of a larger blog post series. Get the overview of the content here.

But messaging alone is not enough! We need to decompose our system. Service Orientation can help us with that. Service Orientation or Service Oriented Architecture was first used in 1996 when Roy Schulte and Yeffim V. Natiz from Gartner defined it as “a style of multitier computing that helps organizations share logic and data among multiple applications and usage modes”. Unfortunately the term SOA has become a loaded term filled with misconceptions and hype. Continue reading

 

The particular service platform introduction

You have already heard me talking or at least read a blog post about NServiceBus from me ;) The next big release from particular software is just around the corner! This time it is not just another version of NServiceBus. No, it is a whole platform or toolset you can use to build up complex distributed systems based on NServiceBus. I give you a brief overview over the platform and then dive into ServiceMatrix. Let’s get started! Continue reading

 

Ask a geek: mocking third party service in Selenium tests of an MVC application

We received the following Ask-a-geek question from Patrick:

I have the following scenario. MVC Application using Ninject and Moq for the unit tests.

We do some additional Tests using Selenium which testes JS etc. So the scenario we want to test is, that in a TestMethod we start IIS Express with the MVC project. Start selenium and do the clicks, check the results. That works all perfect.
Now we have a call to a third party webservice from our repository. In our unittests we used MOQ to mock that. In the Selenium test we want also to mock it. Currently we have this solution
– MVC web.config has a setting, in case that setting is available, we load inject a test repository containg the moq logic. So that means, when we start the test, MVC sees the new setting and instead of injecting the default repository we have the moq repository.

So far, all works good. But here the concerns
– not a nice solution, as all the moq is part for the productive solution
– Moq and testclass are seperated: the whole logic for the Moq is within the MVC solution (repositories) and not part of the Test-Project

Any ideas/suggestions/approches to have a nicer solution?

Continue reading

 

Composite UI for Service Oriented Systems – More message patterns

This blogpost is part of a larger blog post series. Get the overview of the content here.

Slide61

I briefly mentioned that the message has a body. The body carries on the payload or the actual business data identified by the message. Furthermore a message can contain metadata on its header. This allows the message to carry on additional information which can be consumed by the receiver side. Message forwarders need to make sure that the headers remain intact during the communication process. This means a forward should only append additional information to the metatadata or body but never remove information. Leveraging the metadata which can build up more message patterns. Continue reading

 

Composite UI for Service Oriented Systems – Messaging and fault tolerance

 

This blogpost is part of a larger blog post series. Get the overview of the content here.

Slide55

Consider a classical application approach where clients invoke remote procedure calls on the server. Now, what happens to the initiating request when a crash occurs? For example when the IIS App pool recycles or a connection has been refused by the remote host when too many transactions are waiting to time out. The initiating request is lost or if you are lucky somewhere present as cryptic information in a log file. Continue reading

 

Composite UI for Service Oriented Systems – Messaging vs. RPC

This blogpost is part of a larger blog post series. Get the overview of the content here.

Slide51

In the beginning, RPC style communication seems to be better performing than messaging. But when the load on the systems increases and no more threads are available the RPC performance decreases. One cause of the RPC performance decrease is the need to acquire threads from the thread pool and to allocate memory for the parameters of each request. A messaging infrastructure can deterministically assign a number of threads to handle incoming messages. Message consumers can be horizontally scaled out if the load increases. Of course the infrastructure must be provisioned with enough hardware so that the message queue for the incoming requests does not explode. Continue reading