Tuesday, 1 May 2018

Development Changes in Siebel IP 2017 -> Composer & Workspaces




Since a while, the biggest change in Siebel has come up with Siebel IP 2017. Along with its Unique Architecture, it’s brought in a major change in the traditional Development approach till date.  Yes the change is big, for Siebel Developers, well being used to Developing in local, testing changes in Local Client (SRF – Dedicated Client) and then pushing it to Server, it’s a big change but the best part is that the change is for good !!!
I can only think of pros with the new Development Approach in IP17, the only Con is the “Resistance to ones nature of Work

Let’s dig deep into the Concepts of Composer & Workspaces Development Concepts in IP 2017


What’s New!!!


Composer                  : Siebel Web Tools + Added Features
Siebel Web Tools      : Came out in IP15, matured with IP17
Added Features        : Workspace Management & Change Validation
Workspaces               : An instance of Siebel Repository (like a Branch in GIT)



Terminologies to get acquainted to


Web Tools: Siebel Web Tools is essentially the same Siebel Tools over Web. The entity runs on Siebel WebTool Component (Alias: SWToolsObjMgr_<lang>). To enable the Component you will have to enable its Comp Group: SiebelWebTools (Alias). Once you have the Component enabled, all you have to do is add the Application within your AI Profile (in SMC). Say, if you have added the Application in your AI Profile with name – "webtools" & lang as "enu". Here’s how the URL will look like:

 
Now, important to note that if you are logging in with your Developer Account, it needs to have Workspace Admin Responsibility to be able to view the Web Tools Content.
What’s not included in Composer: Workflow designer, Task UI editor or drag and drop composition of applets.Schema, Dock objects, EIM mapping, scripts, and any wizards are still part of Siebel Tools and will be transitioned to Composer in the near future.

Ref: Oracle Blog

Workspaces: Magic Beans!!! Yes that’s correct. With the concept of Workspaces, there is no more a need to carry out steps like Generate DB + DB Extract + Full Get (Consuming around 1 – 2 days of Development Life Cycle). Instead, you just have to create a Workspace. Book Definition would be an “Instance of Repository”. Logically it’s a Copy of Repository where you make your changes, validate and merge into MAIN (consider MAIN as your actual “Siebel Repository”).
Basically by default, the Component Parameter “WorkspaceBranchName” points to MAIN. Now how is it Useful and how will Siebel Data Model acknowledge this?
Workspace brings in a set of RR Tables (consider these as a replacement to the Physical SRF file) + S_LST_OF_VAL where records are tagged with a Column WS_ID

Simple example as below:

SELECT COUNT(*) FROM S_LST_OF_VAL;
V/s
SELECT COUNT(*) FROM S_LST_OF_VAL WHERE WS_ID=(SELECT ROW_ID FROM S_WORKSPACE WHERE NAME='MAIN' AND REPOSITORY_ID=(SELECT ROW_ID FROM S_REPOSITORY WHERE NAME='Siebel Repository'));

{Same Count}

By default Workspaces are available in both Siebel Tools & Siebel Web Tools (or I can say for the DB as both are just the UI pointing to same DB Instance)


Working with Composer & Workspaces



1.    Login to https://myserver.mycompany.domain.com:<AIPort>/siebel/app/webtools/enu
       You’ll see something like below: 


figure 1


2.    Captured in Red is the Navigation to Workspaces. Once you click on it you will get a
       view like below:

figure 2


       So If I start developing, I will create a New Workspace for me by Clicking on Create.
       Suppose I have created a Workspace named dev_sadmin_varun1, then on the top
       right hand corner, I will see dev_sadmin_varun1 instead of MAIN.


3.    Now to start off making changes in the Workspace, I will have to click on the Close
       Button (top-right corner) and I will be taken back to the view mentioned in figure,
       with the only difference that this time I will be seeing the contents of
       dev_sadmin_varun1 instead of MAIN (Siebel Repository). Important to note that,
       so far Oracle has not released any feature in figure 1 stage that can help to
       determine the current Workspace (in case you are unsure). The only way is to Click
       on "Workspace" icon in figure 1, and check the version in figure 2, and then if you
       wish to make any changes you have to click on Close {X} Icon again.


4.    Once you have made the changes, your changes will reflect in "Changes Over
       here" section in figure 2.


5.    Now here comes, the Best part, testing your changes. To Test your changes you do
       not need to start client push srf and all. Instead with your Workspace as Active, you
       just need to click on Inspect (E) in figure 2, it will automatically Launch Web Client
       for you to validate your changes ? now that’s quick & convenient.

       Once you are sure on your changes you can click on Version (A), which will put a
       Checkpoint on the Workspace, no further changes after this.


6.    Next step is to Submit (B) your changes, now in case by the time you have made
       changes; in case someone had delivered the same objects with some changes, then
       you will be given a choice to Rebase (C) the Object.


7.    Finally Deliver (F) your changes. This will deliver your changes to the
       Parent Branch – MAIN. All it does is an Incremental Publish to the RR Tables,
       much like the Incremental SRF deployment in previous Releases.



You can perform all the Activities in the Traditional Siebel Tools (Workspace Explorer under Worskspace Tab) as well, however, the only missing feature over there is Inspect <the True Magic>


There You Go !!! That’s Developing without SRF(Downtime) in Siebel IP 2017