MetaBossMetaBoss



Site Map
 

How to start with MetaBoss

So, you’ve read some papers on this site and think that you would like to try MetaBoss in action. Well, MetaBoss can be downloaded


free of charge, so there is nothing really to stop you from discovering MetaBoss further. Simply read and follow our installation instructions. 

F. A. Q.

Log In


 
If you are not a registered user, you can register now for free.
F. A. Q.
Home >> FAQ


Q.:

What should I do if I have a need to expose my systems to the technology, which is not supported by any of “out of the box” MetaBoss generators?

A.:

First alternative is to engage our consultants to deliver necessary generator for you. We have created plenty of them already and will be happy to prepare proposal and quote for you. Pricing will depend not only on complexity of required generator, but also on your choice of ownership of the generator. We normally charge ½ of the normal price for work donated back to MetaBoss. So, if you do not feel strongly about ownership of the generator, you can get it cheaper. It also means that your generator will stay supported and will be kept up-to-date with future MetaBoss releases.

Another alternative is to roll up your sleeves and create one yourself! This is exactly what our “power users” are doing. You can implement generator in Java, Velocity or Jamon languages. Remember, MetaBoss source code is freely available to everyone, so there is no problem finding right example. We have found that most of the effort is not in creating the generator, but in knowing exactly what to generate. So, typically, hand-coded technical prototype has to come first and generator will follow not long after that.

Q.:

Tell me about any real life examples of custom generators

A.:

Just to name a few: 

  1. The requirement was to be able to invoke enterprise systems from Microsoft Visual Basic front end. Our client’s solution was to create a custom generator, which uses MetaBoss Model Access Framework and generates enterprise system access layer in form of Visual Basic classes. Internally these classes use J-Integra technology as a physical Java / COM bridge. (J-Integra is not associated with MetaBoss in any way and can be found at http://j-integra.intrinsyc.com/). The Visual Basic developers are able to use these classes in their code. Level of assistance to Visual Basic developer and quality of produced code is improved by early binding (operations and parameters are visible in drop down menus). The custom generator project took a few weeks to complete. The result is that pay-off from modelling has been increased by eliminating manual production of desktop bridging code. Standard looking, well commented and proven Visual Basic classes can be produced for any enterprise system in minutes.
  2. Another interesting requirement was to create security and access control “fence” around enterprise system without reengineering the system itself. (In fact many enterprise systems are third-party and can not be easily modified). Solution here was to introduce a Guard Proxy concept and create a simple generator, which uses MetaBoss Model Access Framework, to generate the guard proxies for systems. The Guard Proxy is a plug-in facade, which wraps around actual system implementation and has an opportunity to intercept any operation invocation and authorise invocation itself or censor invocation results. This work has resulted in very elegant solution, which is able to secure any enterprise system in the same uniform manner regardless of the system vendor or technology it is built on.

Q.:

What does MetaBoss testing framework do?

A.:

With MetaBoss testing framework you can define, execute and validate series of system tests or business scenarios. Each step of the test can be expressed in terms of data obtained in course of previous tests. Test definitions are based on modelled public interfaces of all systems comprising the enterprise, so it does not really matter if particular system is implemented by third party or in-house. Because of this approach, the MetaBoss testing framework can help to solve many SDLC needs, such as:

  • Use test definitions to formally document expected behaviours of the system as part of system definition.
  • Use test definitions in unit testing (i.e. Developer may run certain tests in course of development.)
  • Use test definitions in regression testing (i.e. Run test definitions against new release of a system implementation.)
  • Use test definitions to perform formal acceptance testing of implementations delivered by third parties or in-house development teams.
  • Use test definitions to reliably and quickly initialise systems with known “baseline” dataset.
  • Use test definitions to performance test or load test systems.

Q.:

What standard and / or language are used to specify test definitions?

A.:

The language is XML. The data in the test definition XML files is structured in accordance with number of XML schemas. The most important one is MetaBoss System Tester schema. It defines higher level test definition elements such as Test Step, Test Prerequisites and Test Acceptance. The XSLT and XPath standards are used extensively to define test prerequisite conditions, test input data and test acceptance criteria. Deeper inside test definitions, when it comes to specifying actual enterprise systems invocations, the enterprise systems XML schemas (generated by MetaBoss) are used. This means that every operation of every service from every system in the enterprise can be invoked as part of the test scenario regardless of the system implementation technology, distribution technology or database make and model.

Q.:

What's in the name?

A.:

The name MetaBoss hopefully conveys the exact place in SDLC where we see this tool suite fitting in. MetaBoss is the Master of Enterprise Metadata and a key participant in practically all stages of Enterprise Software Development. Do not ask why, but at the early stages MetaBoss was known to a very small community of developers as World Wide Office or WWOffice (sounds like stationery supplier!). But when it was time to get serious about naming, Rost suggested MetaBoss and it has won the day. We also could not believe our eyes when we realised that the www.metaboss.com domain name was available, so we've grabbed it and the rest as they say is a history...

Q.:

Does MetaBoss support J2EE?

A.:

MetaBoss comes with J2EE generators, which can be used to generate J2EE container deployments. At the time of writing these deployments have been tested only on JBoss J2EE application server. Programming model of MetaBoss is somewhat different to J2EE though. MetaBoss application developer does not use or see Java Beans Home and Remote interfaces in hand written code. The issue to use or not to use J2EE is purely application packaging and deployment choice, which has no coding impact whatsoever. This approach helps to increase longevity and portability of the code.

Q.:

How is this framework different to JUnit?

A.:

MetaBoss Testing Framework is similar to JUnit in spirit, but differs in following key aspects:

  • Use of MetaBoss Testing Framework is limited to testing Services (as in Service Oriented Architecture), which are formally modelled in the Enterprise Model.
  • The advantage of this voluntary limitation is that the language in which tests are defined is not a specific procedural programming language (eg. Java), but XML which is governed by Service XML Schemas generated from Enterprise Model. This makes it possible to have and directly execute Platform Independent Test Definitions based only on Platform Independent Model.
  • JUnit is a testing framework only. MetaBoss Testing Framework also includes simulation capability which allows to simulate behaviour of as yet uncoded Services again based solely on Platform Independent XML data files.

Q.:

How does MetaBoss uses Constraints defined in the model?

A.:

MetaBoss uses constraints defined in the model to generate code for automatic data validation as follows:

  • Operation Input Constraints and Data Structure Constraints are used to generate the Operation Inputs Validating proxy. This proxy wraps around actual operation implementations and ensures that all constraints are validated before handcoded implementation even gets the call.
  • Entity Constraints are used to generate constraint validation code inside Business Object implementation code. This code is executed every time before changes are comitted to the database. Of course if any constraint is violated the transaction will fail and changes will be rolled back.

Q.:

What are your support policies?

A.:

Any MetaBoss user (Open Source licensee and Commercial licensee) can freely browse or search support forums on our website, ask questions or answer someone else’s questions if he or she feels like. Therefore information about known problems, resolutions and workarounds is in public domain. MetaBoss support personnel monitors support forums and actively participates in issue resolution. Our Commercial licensees enjoy preferential treatment, meaning that the queries they post on support forum are getting foremost attention of our staff. In addition, Commercial licensees have an option to purchase additional e-mail and on-site support from us. Please see Support information for more details.

Q.:

Does MetaBoss support CORBA?

A.:

Basic answer is similar to the answer to "Does MetaBoss support J2EE?" question, with one exception. At the moment MetaBoss does not come with CORBA generator. However, we have clients who, with our help, have created appropriate generators and successfully deployed on CORBA (Borland’s Visibroker in particular). Let us know if you need it – we are well equipped to help you in this area.

 
Company | Contact Us | News | Documentation | Support | Downloads | Buy Now | FAQ | Forum