30 April 2013

SID Q&A - Question 1



This is the first of a series of questions from SO4IT a Swedish IT consultancy company who are using GigaSpace technology to build a SID based Order Management system for Communications Service Providers.

SO4IT:  A ProductOffering contains all the commercial parts of a product or products we offer to our customers.  It has a relationship to a ProductSpecification which has 0 or more ProductCharacteristics.   I understand that we will define common attributes on the ProductSpecification and others, not common to all Product Specifications, as ProductCharacteristics.  

Andrew:   This is all correct: the ProductSpecification is a form of template or formula used to create ProductOfferings.  If we were talking about selling soap-powder then the ProductSpecification would be the list of chemicals that make up the soap-powder and the ProductOffering would be cover the branding, the size of the box the soap-powder is sold in, and words written on the box
.
SO4IT:  The Product Offering + Product Specification + Product Characteristics in the Product-Management module is like the template for the Product.  When we create a Product from this we create a Product with CFS, RFS and Resources.   What information do we duplicate and what information do we just reference from the Product Specification?  In a very basic set-up I would guess that it would be the ProductCharacteristicValues and in that case each ProductCharacteristicValue would link back to the ProductCharacteristic it belongs to.  Whenever looking up what Products a Customer has we would need to access both the Product and the Product Specification it comes from to give the Customer the full picture, right, and when we instantiate a Product from this what information do we carry with us to the Product?

Andrew:   The ProductSpecification is linked to the CFSSpecs it needs and these will be instantiated as CFSs when the product is purchased/provisioned.  The RFSs on the other hand are the network or low level “technical” services needed to make the CFSs work and are not directly linked to the Product.  The Resources are more complex; most telco products have hardware and software associated with them and these, at this level, are represented by the ResourceSpecifications relationship with the ProductSpecification and the Resource that the customer buys or already owns and its relationship with the Product – this can be a little confusing because SID mainly talks about the other kind of Resources: the Resources that make up the telecom’s companies network.

The values in the ProductCharacteristic would be the things that can be tailored for a Customer or the Customer may alter.  Things like Weight, Height, Width, and Frequency cannot be altered and therefore would not be duplicated, but something like Language, or Password which the Customer can select would be stored in a ProductCharacteristic.  The ProductSpecification and its characteristics are the technical spec for the product – the Product and its characteristics are the define the properties of the particular instance of the Spec – the things the Customer can change or that changes over time – perhaps battery charge (though I think that is going a little far).

SO4IT:  I would like to understand something about pricing.  In SID I can see ProductOfferingPrice and ProductSpecificationPrice.  So how do we decide the final price, will it be a combination of all these then?  And how do you then model dependencies like the price will be this in case he chooses the ProductCharacteristic A with ProductCharacteristicValue AA etc?

Andrew:   There is no ProductSpecificationPrice in SID only ProductSpecifcationCost which is meant to be used to record things like the raw material cost or R&D cost of developing the product.  The price is based on the ProductOfferingPrice and can be varied by using DiscountProdPriceAlteration.

End of Q1

SID Q & A - A new series of posts...

Over the last month I've been helping a client, SO4IT (http://www.so4it.se/) with their understanding of the SID.  We both thought it could be a nice idea to share their questions and my answers to help other people to understand the SID.

The SO4IT is developing new applications based on the latest technology Gigaspaces XAP, and while they are technically very competent they are "newbies"when it comes to the SID. They found me through this blog and asked me to mentor them as they learnt the SID and used it to develop Customer, Order and Product Management applications.

Watch this spot!