in

ASP.NET Weblogs

Natty Gur

.Net from enterprise architect point of view.

October 2004 - Posts

  • Enterprise Architect daily notes – prolog.

    Well since my daily experience is usually spiced with dramas, humor and experience I decide to share it via my blog. First of all, forgive me about my English! English isn't my mother tongue language nor I attend too much English classes back at high school and university ( :-) ).

     

    My daily updates will be based on real life experience but I decide to tell them on fiction enterprise called PRAS (Projects rocks, Architecture sucks). PRAS is typical enterprise with about 5000 workers and 300 IT professionals. As any good old enterprise the IT is build on the magical and holy Mainframe (OS/390) , client server applications developed by VB, Power builder and C++ as well as WEB based application developed by VB, VB.NET, C# and Java (To make the situation more complicated). PRAS has all the common C level management, Software infrastructure group (some kind of lead and mentoring programmers), project managements, programmers and THE USERS! There are lots of others positions but I think I manage to mention the ones that I have strong interaction with.

     

    So after giving the global picture, what left to do is just to start write down and cover the little pieces of this 100,000 units puzzle. I hope you will enjoy and learn from those upcoming posts.

  • Microsoft Business Framework - MBF

    I saw the other day a presentation and working bytes of MBR. Basically its build in ability, of visual studio, that extends the traditional approach to model driven development toward “model aware application server”.  Using MBR you can define  your business entity regardless of technical dependencies using metadata that serve as layer of abstraction between your code (business entity) and the technology that your code using. As you are using design time visual studio tools (including schemas, designers and tools) MBF generate code for your definitions and provide framework to run your entities at runtime.  

     

    First of all it looks amazing! I think that we really should wait for MBR release. Personally I would be more then happy to be a part of that effort and to influence on MBF outcomes.

     

    I’m very excited from MBF because as I see it, with little of effort, we (MS community) could have real application server (such as J2EE, JBOSS, etc’). there is anyway a frame work that generate and run business entities (probably a container is hidden there, to host entities). If that framework will adopt some architecture principles that enable containing and providing services for contained entities (such as Interceptor stuck, manage extension, naming services, etc’)  we will have some kind of application server (that serve as level of indirection between business code and the tech. it running on). If someone follow me in the last year, it was one of my major complains about Microsoft in the enterprise field.

      

    There are some points that I'd like to mention, hoping that the right people in Microsoft will read then.

    1. Think about adding Enterprise Architecture framework that will be part of MBR. Don’t invent yours, use TOGAF or Zachman frameworks. It’s essential to create application architecture and design, which follows enterprise architecture. It will be nice to see how decision that I made through application architecture match enterprise architecture and which AE rule/IT strategy target I follow. Such mechanism could help a lot to EA governing phase.
    2. As I saw in the demo, MBF is based on Table module pattern of managing domain logic. It will be awesome to see MBF able treating business logic as domain model pattern as well. Usually systems that need such a framework are complicate one and using domain model make more reasonable then table module.
    3. Don’t make such a strong relation between MBF and rich client / SOA systems. If the framework supposes to indirect my code from the technology that my code is using, then I might choose other Architecture pattern for my system rather then rich client. My system goals are to solve one or several of my enterprise needs, therefore my system should follow my enterprise architecture. My enterprise architecture might not use rich client as guide principles for inner enterprise reasons. In the end of the day it doesn’t matter which architecture pattern I choose I’ll have business entities that I want to host.
  • Security Patterns

    The Open Group published book of security patterns.

    those patterns include:

    Checkpointed System
    Standby
    Comparator-Checked Fault-Tolerant System
    System
    Error Detection/Correction
    Protected System
    Policy
    Authenticator
    Subject Descriptor
    Secure Communication
    Security Context
    Security Association
    Secure Proxy

    You can download and view PDF version of the book from http://www.opengroup.org/publications/catalog/g031.htm , after filling short form :-).

    really worth a look.

  • The open group convention ended.

    Two days about TOGAF helps me to :

    1) get good feedback that my work is on the right track.

    2) that Zachman framework is major competitor to TOGAF (his framework mention in almost evey session).

    3) There's still a lot to learn from Zachman and the OMG.

    4) and as I mention many times before ... Microsoft is far behind competitors in enterprise field ....

  • 10 tips to create successful enterprise architecture.

    1)      Don’t proceed without a champion. Don’t go through the process without back up from management. Find a way to make awareness in the enterprise for the EA need.

    2)      You need the Champ to understand the objective. You cant move forward without objectives.

    3)      Don’t take shortcuts. You need to do all the work. There is no rational to go through the process without business baseline, for example.

    4)      It’s ok to focus on selected view. If you find a view that is curtail focus on it.

    5)      Enterprise” is relative. Keep in mind that enterprise could be complex structure or simple on. Their structure affects the project.

    6)      Produce interim deliveries. Without those deliveries you loose the management, users and may come out with wrong architecture.

    7)      Formal authority is not essential. You can go up by working from the button up and create your champion.

    8)      Customers include developers. Don’t forget to involve the programmers that need to develop the systems.   

    9)      Common sense and judgment. Don’t forget to use them frameworks don’t replace common sense and your judgment.

    10)  Leadership is crucial. You can’t go through this process without strong leadership.

  • Component business modeling (CBM).

    Modeling enterprise architecture based on common software mythologies to split the enterprise into business component which relate to IT solution in the end.

    Business component is logical view of part of enterprise, its building block to build IT solution. Each block contains business needs, data, people, tools etc’.

    You define Business Component(BC) the same as you define them in software industry. After you got BC with their services and inner data there’s a need to define relations and interactions between them. After we have the logical graph of CB you can start to convert it to physical one.

    Legacy systems builds by products constraint (MF) but nowadays we need to build system by user constraints. Therefore the business flexibility depends on the IT flexibility.

    CBM as opposed to BPM deal with business components that expose services and not mapping of al business processes. Therefore it match SOA better then BPM and helps us to archive better IT flexibility due to the fact that you can compose several BC to serve a new solution.

     

    Well it’s IBM initiative, so here’s the link : http://www-1.ibm.com/industries/financialservices/doc/content/news/newsletter/1061216103.html

     

     

     

  • Steps to create Enterprise architecture from the beginning (for organization without any defined architecture).

     

    1)      Finding which models and tools are currently exist by using a toolbox consist on a check list of structure, application, Infrastructure.

    2)      Definition of Actions Fields (AF)

    a.       Constraint

    b.      Influence

    c.       Control

    d.      What are the current problems

    e.       What are the goals?

    3)      Determine goals and solutions to solve the current situation and fulfill the AF.

    4)      Prioritize those actions to achieve goals and solutions.

    a.       Identify stockholder

    b.      Identify their concerns (from AF)

    c.       Prioritize by stockholders concerns.

    5)      Working in iteration for stage 1-3 to set level of architectures (reference architectures).

    6)      Definition of tolls for achieving the architecture

    a.       Business

    b.      System

    c.       Infrastructure

    7)      Establish process of work to enforce the architecture,

    a.       Establish architecture board

    b.      Set application, Information and Enterprise architecture

    c.       Documentation of arc. Determinations from enterprise IT parties.

    8)      Testing.

    a.       Level of standardization for development.

    b.      Level of standardization for infrastructure.

    c.       Efficiency of IT.

    d.      Covering of business need by IT.

    e.       Efficiency of deployment.

     

     

  • Steps to interact with Stakeholders of EA

     1) Find who stockholders are

    1)      group that interest in Enterprise Performance internally or externally.

    2)      Individual or group interest on the success of organization.

    3)      Government authorities

    4)      Affected by the enterprise IT outputs.

    5)      Implement organization changes as enterprise Arch. Outputs.

     

    2) Get their needs/concerns

    3) Analyze affinity groups with common concerns.

    4) Define viewpoints that describe concerns.

    5) Choose modeling tech. for each viewpoint.

    6) Create view of architecture from each viewpoint.

    7) Use views to talk with stakeholders.

    8) Convince them that your architecture is “The one”.

  • Enterprise architecture certification.

    I attend BOF on that subject at the open group conference. HP and IBM (which are the only organization that certified their architect) are trying to build some kind of enterprise architecture certification…. I think that such a certification is really important. Not just to “mark” persons with knowledge and skills In this field, but to distinguish this profession from others.

     

    The only problem from my point of view that they forget one minor force in the market … that right – Microsoft!

  • Another difference between architecture and design.

     Architecture reflects business needs, design not. Therefore different architects imply different business needs but different designs can imply the same problem.

More Posts Next page »