Charles Young
  • PREVIOUS
  • 1 of
  • of
  • 4
  • NEXT

Integrate User Group: Video available for ‘Microservices and the Cloud-Based Future of Integration’

Logo-Integration[1]I presented at Monday evening’s inaugural session of the Integration User Group.  This new UG replaces the UK Connected Systems User Group (UKCSUG).  The session was well attended with a good 50 minutes of questions afterwards.  The video of the presentation (first hour only) has been posted at http://bit.ly/185wgtV.  The slides are also available on Slideshare at http://slidesha.re/1Cg4oju
 

Sam Vanhoutte,  CTO and Product Manager at Codit, will be speaking next Monday, 26th January.  He is a very well-known face in the Microsoft-centric  integration community.  The title is ‘Overview of Azure Microservices and the impact on integration’.  He will discuss the implications of the announcements made at the recent Integrate conference and how this will affect the future for integration professionals.
 

You can find further information on planned Integration Monday events at http://www.integrationusergroup.com/event.  Follow the events on Twitter using #integrationmonday.   Our very own Nino Crudele is speaking on 9th Feb.  The title is still to be announced but he is always worth hearing.

Written by Charles Young at 00:00

I will be presenting at the UK Connected Systems User Group ‘Integration Monday’ webinar on Monday, 19th January at 7:30 pm:

UKCSUG-inverted


“The software integration market is heating up with dozens of new cloud-based vendors and a sea-change in customer expectations.  What does this means for traditional Enterprise Application Integration?  What do modern integration tools give us and where is this all heading.  The answer is cloud-based microservices PaaS, and Microsoft is leading the charge forward.  What are microservices, what is the next-generation Azure PaaS platform all about and how will this transform the world of application and service integration in the future?”


Registrations are open athttp://www.eventbrite.com/e/integration-monday-2015-01-19-charles-young-tickets-15134643125

Written by Charles Young at 00:00

Categories :

Mediation Models for iPaaS and EAI

Microservices small light 3This is the third in a series of articles on the emerging world of microservices PaaS and its relevance to Enterprise Application Integration. The other articles are:

 

Integration and Microservices: Describes enterprise application integration and its core abstraction of messages. Lists some widely accepted principles of microservice architecture and relates these two worlds to the emerging phenomenon of microservices PaaS.

 

Hexagonal Architecture – The Great Reconciler?: Describes hexagonal architecture, its correspondence to traditional multi-tier layered architecture, the Enterprise Service Bus and ‘traditional’ EAI/EDI tools, and the inspiration it provides for microservice thinking.

 

In 2011, Gartner introduced the concept of Integration Platform-as-a-Service (iPaaS).  Since then, there has been an explosion of iPaaS offerings in the market place.  In this article I discuss the current iPaaS market and compare and contrasts common mediation approaches for iPaaS and EAI.   I also consider briefly how iPaaS relates to microservices PaaS.
 

Read on at http://wblo.gs/frn

Written by Charles Young at 00:00

Categories :

Hexagonal Architecture – The Great Reconciler?

Microservices small light 2In 2005, Alistair Cockburn, one of the co-authors of the Agile Manifesto and the originator of the Oath of Non-Allegiance, posted an article on his site that recast an old idea in a new form. The concept of ports and adapters is deeply familiar to EAI developers. The new form, which he called ‘hexagonal architecture’ is widely regarded as the inspiration behind microservices.  Is hexagonal architecture the ultimate reconciliation between microservices, ESB, EAI and EDI?

Read on at http://geekswithblogs.net/cyoung/archive/2014/12/20/hexagonal-architecturendashthe-great-reconciler.aspx

Written by Charles Young at 00:00

Categories :

Integration and Microservices

Microservices Small Light 1Across the IT industry, people are re-thinking their approach to application integration and electronic data interchange in the context of ubiquitous scale-out cloud platforms, the onward march of service-orientation, the success of the RESTful philosophy, the adoption of agile methodologies and the rise of devops and continuous deployment. In this rapidly evolving world, the microservices concept has gained attention as an architectural and design model that promotes best practice in building modern solutions.

 

In this post, I explain the two worlds of integration and microservices and start to explore how they relate to each other. I discuss the relationship between microservices and integration, especially in the context of emerging microservice PaaS platforms.

 

http://geekswithblogs.net/cyoung/archive/2014/12/07/integration-and-microservices.aspx

Written by Charles Young at 00:00

Categories :

Public cloud legal jurisdiction and law enforcement considerations

Council of Europe and European Comission

I have been working with Solidsoft customers to address security and governance considerations in adopting the Windows Azure public cloud. Whilst we naturally refer to the Microsoft Trust centre as an authoritative source, it doesn’t always answer the questions we are asked >>> More

Written by Charles Young, Hans Baumhardt at 00:00

Categories :

Does Red Hat Enterprise Linux run on Azure?

Redhat logo

Now that Microsoft has moved to General Availability for IaaS on Windows Azure, I decided to spend an hour or two investigating a question which I’ve been asked a couple of times over the last few months. Currently, Microsoft provides a number of Linux ‘platform’ images in the IaaS gallery. These are for OpenLogic CentOS, OpenSUSE and Ubuntu.

Read the full post ...

Written by Charles Young at 17:00

Categories :

Real world Windows Azure

Real world Windows Azure: architectural patterns, “gotchas” and our experiences working with the platform to deliver significant projects. A session from joint Microsoft & Solidsoft event held at the Bulgari Hotel in London on 15th April 2013.

Written by Charles Young at 00:00

Categories :

Poor, confused C# compiler

 

Originally posted on: http://geekswithblogs.net/cyoung/archive/2013/01/22/poor-confused-c-compiler.aspx

The C# compiler is a pretty good thing, but it has limitations. One limitation that has given me a headache this evening is its inability to guard against cycles in structs.  As I learn to think and programme in a more functional style, I find that I am beginning to rely more and more on structs to pass data.  This is natural when programming in the functional style, but structs can be damned awkward blighters.

Here is a classic gotcha.  The following code won't compile, and in this case, the compiler does its job and tells you why with a nice CS0523 error:

    struct Struct1
    {
        public Struct2 AStruct2
    }

    struct Struct2
    {
        public Struct1 AStruct1
    }

Structs are value types and are automatically instantiated and initialized as stack objects.  If this code were compiled and run, Struct1 would be initialised with a Struct2 which would be initialised with a Struct1 which would be initialised with a Struct2, etc., etc.  We would blow the stack.

Well, actually, if the compiler didn't capture this error, we wouldn't get a stack overflow because at runtime the type loader would spot the problem and refuse to load the types.  I know this because the compiler does a really rather poor job of spotting cycles.

Consider the following.  You can use auto-properties, in which case the compiler generates backing fields in the background.  This does nothing to eliminate the problem.  However, it does hide the cycle from the compiler.  The following code will therefore compile!

    struct Struct1
    {
        public Struct2 AStruct2 { get; set; }
    }

    struct Struct2
    {
        public Struct1 AStruct1 { get; set; }
    }

At run-time it will blow up in your face with a 'Could not load type <T> from assembly' (80131522) error.  Very unpleasent.

ReSharper helps a little.  It can spot the issue with the auto-property code and highlight it, but the code still compiles.  However, ReSharper quickly runs out of steam, as well.   Here is a daft attempt to avoid the cycle using a nullable type:

    struct Struct1
    {
        public Struct2? Struct2 { get; set; }
    }

    struct Struct2
    {
        public Struct1 Struct1 { get; set; }
    }

Of course, this won't work (duh - so why did I try?).  System.Nullable<T> is, itself, a struct, so it does not solve the problem at all.  We have simply wrapped one struct in another.  However, the C# compiler can't see the problem, and neither can ReSharper.  The code will compile just fine.  At run-time it will again fail.

If you define generic members on your structs things can easily go awry.  I have a complex example of this, but it would take a lot of explaining as to why I wrote the code the way I did (believe me, I had reason to), so I'll leave it there.

By and large, I get on well with the C# compiler.  However, this is one area where there is clear room for improvement.

Update

Here's one way to solve the problem using a manually-implemented property:

    struct Struct1
    {
        private readonly Func<Struct2> aStruct2Func;

        public Struct1(Struct2 struct2)
        {
            this.aStruct2Func = () => struct2;
        }

        // Let's make this struct immutable!  It's good practice to do so
        // with structs, especially when writing code in the functional style.
        // NB., the private backing field is declared readonly, and we need a
        // constructor to initialize the struct field.  There are more optimal
        // approaches we could use, but this will perform OK in most cases,
        // and is quite elegant.
        public Struct2 AStruct2
        {
            get
            {
                return this.aStruct2Func();
            }
        }
    }

    struct Struct2
    {
        public Struct1 AStruct1 { get; set; }
    }

Written by Charles Young at 22:06

Categories :

Forget Sinofski

Originally posted on: http://geekswithblogs.net/cyoung/archive/2012/11/13/forget-sinofski.aspx

Forget about Steven Sinofski's unexpected departure from Microsoft.   The real news from Redmond is that, after approximately 72 years of utter stagnation, the latest version of Visio has been upgraded to support UML 2.x!   It gets better.  It looks like it actually supports the latest version of UML (2.4.1). 

Unbelievable!

Written by Charles Young at 16:13
  • PREVIOUS
  • 1 of
  • of
  • 4
  • NEXT