Archive

Archive for May, 2009

Naming conventions for software components.

May 28th, 2009

During the different XI/PI implementations i have been involved with I have experiance differet naming conventions. I would like to share the different types of conventions that I have seen and my thought of it.

There is a great document for best practice on naming conventions. Also see Thorstens blog about the subject. The naming convention does not explicit ways to name things. In this blog, I would instead describe how namespaces and software components can be derived. For all the different types of interfaces lot of effort has to be devoted create abbreviation and create a meaning full structure, this will not be covered in this blog, but hopefully in a new blog.

In this blog the term object refers to all object created in the Integration Builder Repository, like scenarios, interface mapping or message interface.

Simple Group

With the first implementations we used a very rough, method to divide the object based on the target system. I think we had software components like SAPR3, SAPXI and all the legacy systems as separate software components.

This method was very easy to get started on and did not require a lot of work op front. It was pretty easy to find which software components to use. The component names could be implemented at all customers, because it was the same setup they all used.

The namespaces just contained the legacy system name, so it was more a point to point connection. It was easy to find objects involved in a scenario. You just use the legacy system name, and you go the information you needed from the object involved.

The problem with this method, was that a lot of interfaces are grouped into the same component. This can make it more difficult to transport the components; at least you need to be more careful, what you are promoting to production. A large problem with this tight coupling was that interfaces were not named for reuse, or a refactoring should exists. This limits the SOA cababilities, which are one of the key selling points for XI/PI.

In recent implementations more focus was on making an SOA architecture. I my view this requires a more process centric approach. I have seen two different methods for creating a naming convention for grouping the objects smarter. Using the Solution Manager description of the processes, or using Solution Maps, which is SAPs standard way to look at processes in organizations.

 

Solution manager (SOLMAN)

In SAP implementation SOLMAN is vital part, to describe the business process used in the organization. This is both true in the implementation phase and I believe also after the solution has been implemented.

I have not been involved in designing the SOLMAN maps used for describing the processes. What I have seen is that the business process has been used for grouping of the scenarios. By using the same structure for the object, there is a clear mapping from SOLMAN to the PI respository.

Using the SOLMAN grouping of processes gives to following advantages.

  • The business knows which process you are working on, since they have the same notation. This way it is easy for a developer to communicate, where there is a problem.
  • The architecture and naming is given, because the naming has already been created.

The disadvantages

  • If the project has multiply phases more maps can be created. With this it could be a little more difficult to find the mapping between the SOLMAN and PI objects. This could be solved with the help of software component versions.
  • If you are designing a project, which does not involve SOLMAN, then you need to create a new structure or create the SOLMAN structure.

Solution Maps

On a resent project we used the SAP Solution Maps as a source grouping our objects. The solution maps contain all the different processes used in an organization. There are a number of different solution maps, both the general ERP but also industry specialized maps.

An example solution map.

 

Advantages of Solution maps:

  • Structure which matches business organization.
  • Common naming conventions between projects (really nice if you are a consultant). If used on all projects it is easy to find the objects. There is no need to considerer which naming conventions for software components and namespaces, because they can be defined before they are used.
  • The convention is prepared for e-SOA, because the solution maps are used to place the enterprise services. There is though a small problem, about the enterprise services are places in the SAPAPP component. This can be solved in the design phase with placing the action in the software component corresponding to the Solution Map.
  • Interface objects are placed in a way, relating to the service they perform. Different processes can use the same service.

 

Disadvantage

  • It can be difficult to communicate issues about a scenario, because the implementation is focused on SOLMAN and not on the solution maps
  • It can be difficult to place an object in the correct group. Is this service use for accounts payable or sales order management.

Conclusion

Both SOLMAN and solution maps focus on the process. They have both some advantages and disadvantages. I currently like the Solution Maps method best, because it allows a standard setup for all customers. I also like the point with having services grouped pr function, so multiply processes can use the same service.

I need to share more thought on how, I see the Solution Maps solution. This will be describe in a blog soon.

pi

PI documenter services has been upgraded to include User defined functions

May 26th, 2009

The first release of the open source version of the documenter library did not have support for the newest PHPExcel. It was therefore not deployed as a service on the figaf homepage. I have now upgraded the service to support the newest release. The functionality is still free and works the same way.

I finally got time to work with the code and fund the bug, which did not allow for the newest PHPExcel library. The problem was that I had to much reuse of functions. When I created a difference document, I created two documentation documents. The mapping information was then extracted from the two documents and compared to create the difference document. I created a new Excel serializer to write the different documents, a problem occurred.

I also go time to a feature, which I have been requested. That was to get user defined functions in the documentation. A more needed function was to include the UDF in the difference functions, so it is possible to see which user defined function has changed.

For the documentation I have decided not to include comments. I believe comments for this instead should be included in the source code. Is this a plausible way to look at things, or should I reconsider the design?

I have not had access for a PI 7.1 system. If you are running 7.1 would you test my service and see if it works. If it is not working would you send the XIM file and I will create a new version, which allows for PI 7.1 User defined mappings.

Do you have any other request for functionality, then comment in this blog or in the google defect log.

pi ,

Antichrist movie

May 23rd, 2009

I just watched antichrist, or half of it. Then I could not stand anymore of the film. It was one of the most evil movies I have ever seen.

The first half was good with some beautiful pictures and scenes. It is very well instructed and the acting is also superb.

But then the evil comes. Kind of like Stephen kings Carrie, but Antichrist has some more feelings involved. It could be because it is this more emotional. I was even sweating from the horror.

Then back home we watched The Kid with Bruce Willis, that movie I could handle.

Movie

Released Ondemand BAM service

May 22nd, 2009

I have just released my ondemand Business Activity Monitoring (BAM) site. It can be found at http://www.odmbam.com. Currently the site is under development, and I’m trying to see if the idea works and people would signup.

The idea is to make a BAM SaaS solution to monitor business processes. It should make it easier for people to get their processes monitored.

Cloud process monitoring is probably an area, which could be improved a lot. I hope the site prove successful and lead to further development of the service.

Process , , ,

SAPPHIRE online

May 13th, 2009

I did not prioritize going to SAPPHIRE this year. I did not expect the value for going was greater than the time an effort it would take to go to the conference. Now the conference is running, I feel it could be fun to participate.

Luckily it is not possible to follow much of SAPPHIRE conference remote. There are a number of resources that can be leveraged. There should be 8.000 watching the conference online.

First some of the interesting part of the conference is the keynotes. All the keynotes can be found at http://www.sap.com/about/newsroom/sapphire/webcasts/index.epx. It is possible to watch the live keynotes and replay of the keynotes from yesterday. They are in a fine quality, though some of the slides or demos can be a little difficult to read.

The SAPClubhouse is also a place to find information on what is going on or being talked about and participate in the conversation.

It is also possible to follow what is going on via twitter, where you can search for #sapphire09 . If you do not want to go to the twitter site, you can find the same search on SAPClubhouse. The Twitter feeds gives a way to share thoughts on presentations with other. It can also be possible to find information about relevant sites or facts.

It is also possible to follow blogs or news report about what is going on.

There are still some issues that you do not get with the live event like:

  • Being able to talk with people face to face.
  • Hearing other sessions than the keynotes, since this are not broadcasted.
  • Going to the events and parties

 

sap

DTC race på Jyllandsringen

May 11th, 2009

Jeg var til DTC (Danish Touringcar Championship) åbningsløbet på jyllandsringen den 9/5 2009. Det er første gang jeg ser andre racerløb en formel 1. Det var lidt mindre og nemmere at komme rundt og få parkeret.

Det var heller ikke så dyrt at være med til. Billetprisen var 200 kr, hvilket jo ikke er meget for en hel dags underholdning. Så kunne man købe opgraderinger til tribuner, men vi vurderede at det ikke gav så meget bedre oplevelse.

Der var en hel del løb i forskellige klasser. Der var en masse god race med overhalinger og placeringskampe.

Det som nok var mest impornerende i forhold til formel 1, var at der var løb på banen hele tiden. Der blev skiftet serier meget hurtigt. Det gjorde at der hele tiden skete noget på banen.

Der blev kørt rimeligt tæt til mange af løbene. Det gjorde at det var sjovt at se og at man ventede at der var overhaleninger hel tiden.

Noget som også gjorde løbet sjovt var at man kunne komme ned til alle bliverne. I stedet for F1 pitwalk, var der et grid show hvor man kunne komme helt ned til alle bilerne. Det betød at man kunne få et god indblik i hvordan bilerne så ud.

Til næste gang jeg skal af sted vil jeg nok gøre følgende anderledes.

  • Medbringe snacks og mad, så man kan spise andet end de pølser der bliver solgt
  • Medbringe stole, så man kan sidde lidt mere behaligt
  • Undlade at købe billet på forhold, men købe den ved indgangen og få FDM rabat.

Komme til så det passer med det første DTC løb, så man kan se alle løbene.

Motorsport , , ,