Why another software development product?

Object-oriented programming affects not only the way programs are organized, but also the way people think, that is, the mindset of designing and developing software. This mindset has very deep and broad impact on software development. But unfortunately object-oriented programming has fundamental weaknesses as described at Architide home , which take a toll on almost every software project based on object-oriented programming. Software development need mindset change, which can’t be accomplished by just smart techniques or methods. No matter how good a software development product is, it won’t go far if it’s based on object-oriented mindset. Mixed language programming is proposed to correct object-oriented mindset. This gives Architide’s product ComponentWeaver a unique advantage over any software development product based on object-oriented programming, since it’s based on mixed language programming.

What is ComponentWeaver®?

ComponentWeaver® is a software development product by Architide, Inc.. It provides development environment for mixed language programming with the following languages: component diagram as the architectural language program, Java as the statically typed language, and Groovy as the dynamically typed language, and languages on top of Groovy as the custom languages. ComponentWeaver® is based on Eclipse, similar to Java IDE, but with more features like component diagram, and Groovy integration.

ComponentWeaver® can be used for Java and Groovy projects as an environment to program using mixed language programming. You can start with define your Java Project, then define the components to work on and implement the components and build them incrementally or fully.

Features of ComponentWeaver®

One of the differences between mixed language programming and object-oriented programming is the relation management, both from high level – architectural and component level, and low level – class and method level. Relation management is very important since relations can multiply the effect of change and result in unexpected cost of change.  But it’s missing in object-oriented programming. ComponentWeaver provides environment and management solution for component relations and interactions.

Two new concepts are important for software developers to understand and develop mixed language programs using ComponentWeaver®: virtual component and heterogeneous unit.

1). Virtual component

From its client’s point of view, a component is only used to provide dependency on it. By externalizing this dependency, we separate client and the component, moreover, we can define dependency of a component on any other component not existed yet, and this kind of dependency is called a virtual component. This kind of loose coupling of components is the key to change management and application composition.

2). Heterogeneous unit

Heterogeneous unit means that a class can be implemented using more than one language. In mixed language programming, heterogeneous unit is the key to deal with change. Lacking of solution for change at class level is one reason that design patterns, frameworks, DSL (Domain Specific Language) have to overcome some difficulties case by case. Having different languages for one class allows developers to solve change and related problems easily using bottom-up approach. Heterogeneous class can evolve according to different needs. It can also be used as foundation for DSL solution since different languages can be served as context and content. The bottom-up approach for DSL is better than other DSL approaches since it can handle change easily.

ComponentWeaver® has the following features:

  • Component relations are defined in component diagram and enforced.
  • Different languages are put together in an order and fulfill different tasks.
  • Virtual components can be used for the purpose of configuration, customization, concepts, concerns.
  • Groovy code and Java code are automatically built together.
Benefits of ComponentWeaver®

ComponentWeaver® can give you the following technical benefits:

  • Architecture can be enforced, and no unexpected relations can creep into program.
  • Configuration and customization, integration can be made easy.
  • Aspects like algorithms, business rules can be implemented and evolved easily.
  • A foundation for DSLs so that overall trade-off is visible when evolving them.

ComponentWeaver® can give you the following marketing benefits over traditional way of programming:

  • Productivity increase from mindset change.
  • Programs more adaptive than ever to easily respond to requirement changes.
  • Lower cost of development, maintenance, and upgrade than ever.
  • A more friendly environment for different roles because of multiple languages used.

Pricing and download information

Please stay tuned, ComponentWeaver® is coming soon....