Deploying a large Oracle BPM Application with multiple UI projects

Hi everyone
I'm working on a large application with Oracle BPM 11.1.1.5.0.
I'm using JDeveoper 11.1.1.5.0 to build the application.
The application has lots of user tasks with lots of UI projects (one for each user task).
My problem is, each time I make a small change in the project, I have to deploy the whole thing, which includes one main project and five or six UI projects (for now) for the user tasks.
As the application gets bigger I'm sure this will definitely become an issue.
So my question is if I'm doing this the right way? or should there be a more efficient way?
Thanks in advance
Edited by: luke on Apr 17, 2012 12:16 AM

Hi Luke
1. Generally, there is NO need to have One UI Project for one individual Task. Say you have like 10 Tasks (.task files) like Initiator, Approver, Reviewer, LegalApprover etc etc. You can have just One UI TaskForms Project and have taskDetails.jspx generated for each one of these Tasks. This is the preferred way.
2. Any Workflow Application should have just 2 deployers. Means one deploy is for actual Workflow stuff that will have the main BPEL or BPM Process, human Tasks etc etc. Basically all that goes into workflow project. And another deployer is the REST of the things means the TaskForms UI Project and any other supporting projects like EJB projects, utils projects, any WebServices projects (if you have WebServices). All these will be deployed as one SINGLE EAR.
Lets take an Example from JDeveloper IDE point of view.
1. Application Name: SalesOrderApp
2. Workflow Project Name: SalesProcess (This is a a jdeveloper project of type BPM Project or SOA Project and has all human tasks, bpels, bpm process, business rules etc etc).
3. UI Project: SalesTaskForms (This is a auto generated form for the very first Task that you choose. Then for rest of the Tasks use this same Project, to generate jspx for all other .TASK files. REFER online docs on how to do this. I will see if I can compile this list of urls for you).
3. Supporting EJB Projects: MyEJBProject1 (Some EJB Project that connects to some backend database specific to your project)
4. Supporting another EJB Service Project: MyExtServiceProject1 (Like another EJB Project, that pulls data from some external source)
5. Some WebService Project: SalesCreditCardValidationWebService (Some WebService Project to be deployed as .WAR file that does some service).
Try to apply SOA Concepts for each Service that your application needs. Instead of putting all the EJBs and everying in one single giant project, try to split them logically/business need wise and geenrate separate projects so that they can service as it is to other projects and other apps.
Anyhow, coming back, in above Example, you should have jsut 2 Deployement: 1 is Workflow SCA JAR File and other is full EAR file.
a) For the Workflow Project, right click and generate a Deployment profile to deploy just this workflow and NOT any other UI Projects.
b) For each individual project genereate a deployment profile like MyEJBProj1, MyEJBProj2, MyWebService1 etc etc.
c) For TaskForms project also, generate a deployment profile like SalesTaskForms. This will be a WAR file.
d) At Application Level, create a new Deployment profile of type EAR and now assemble all the projects under this EAR except for the Workflow project.
First you deploy Workflow SCA JAR file. You need to redeploy this again only when you make changes to workflow, humantasks etc etc.
Deploy full blown EAR file that has all the stuff (EJB JARs, TaskForm WARs, WebService WARs etc).
Anytime you change taskforms, or any java or ejb code, ReDeploy EAR file.
You should have one JAR and one EAR to deploy at the end of the day. Infact this is how it should go into UAT and Production. They should not have multiple JARs, multiple WARs to deploy. The reason we have separate Workflow SCA Jar file is, bcos workflow will not change frequenly. And also older versions of SOA/BPM (before 11.5 FP) have a huge disadvantage. Everytime we deploy workflow project, it will make all existing process STALE unless you deploy with a diff version. This is not an issue any more for 11.5 + FP (Feature Pack applied). Hence be careful when you redeploy workflow project.
Thanks
Ravi Jegga

Similar Messages

  • Oracle ADF application with Teradata as Database

    JDeveloper PS5.
    Is it possible to integrate Oracle ADF application with Teradata as Database?
    If yes, can you please provide some information with respect to the same?
    Thanks,
    Navaneeth

    Does teradata have a JDBC driver ? and can it understand SQL92 falvor SQL ?
    If yes, then maybe you can do ADF on it.
    Take a look at this :
    http://www.oracle.com/technetwork/developer-tools/jdev/multidatabaseapp-085183.html
    A bunch of ADF features will not be available, primary key generation will be a bit sketchy(all keys for all tables will come from a single sequence of numbers) and you'll have to implement some stuff like the persistence collection manager.
    The one thing that doc does not mention is that you also have to make sure your adf-config.xml is set with the correct 'jbo.SQLBuilder' property (SQL92) in the <amconfig-overrrides> section.
    Happy hacking !

  • Is it possible to run Oracle 6i application with Oracle 11g?

    HI,
    We are running oracle developer 6i (6.0) application with oracle 10g database.
    Due to some management decisions we are in planning to upgrade the database to 11g.
    So, tell us that Is it possible to run Oracle 6i application with Oracle 11g?
    Regards,
    fazijee

    Also see Oracle Support note
    Is Forms/Reports 6i Certified to Work Against Oracle Server 10g Rel 1, Rel 2 or 11gRel 1, Rel 2? [ID 338513.1]
    6i isn't certified nor will be certified against 10.2 and 11.x
    Hemant K Chitale

  • Is it possible to deploy SharePoint or its Service Applications on: multiple DB-Servers and multiple SQL Instances?

    Hello Forum,
    We have a SharePoint 2013 farm (Enterprise edition) that uses one single SQL Server 2012 (Standard edition). That statement means: All my SharePoint DBs e.g. (Config, Admin, Content, and Service Apps) DBs are hosted and running onto one single instance e.g.
    Server1\SQLInstance1.
    We have some new requirements to install and configure BI tools such as: PerformancePoint services and PowerPivot. BI tools require either SQL Server 2012 Enterprise or BI editions, and we do NOT want to upgrade our current SQL Server1\SQLInstance1
    Instead, We have other separate SQL Server instance which is enterprise edition let's name it (ServerX\InstanceX) that is running standalone, and we are thinking or using it, and my 2 questions are:
    1) Can we use this other separate
    SQL Server instance which is enterprise edition to host the create and hosts the DBs of PerformancePoint services and PowerPivot ?
    2) My second question is the same: Can I create PerformancePoint services application in my SharePoint farm, But in the Database Server field, I fill up
    the details of the other DB server ServerX\InstanceX  which is the one that is SQL
    enterprise edition ? Will this work ?
    Any official Microsoft resources/links tell that it is possible to deploy SharePoint or its service applications on multiple DB-Servers and multiple SQL Instances?

    Thank you Alex and Anil,
    What are the ramifications of that?
    I mean, Assuming that I have created such a farm where most of SarePoint DBs in Standard SQL instance while the PerformancePoint service application and others e.g. PowerPivot and reporting service are deployed and configured onto other Enterprise SQL instance.
    Are there any recommendations or concerns that you would like to draw my attention to ?

  • One application with Multiple schemas- common application frame work

    Hi All,
    I am trying setup a common application frame work in apex. Please help me.
    How to achieve this.
    Creation of one application attached to different schemas at run time. So that my application maintaince is going to be easy instated of creating copies of same application.
    More details:
    1. I have one application with 100 pages pointing to a schema dev_common in one workspace APP_COMMON. I have 50 schemas with same structure of dev_common schema with different set of data ( because of large amount of data).
    So I want to create one application attached to different schemas.
    2. And another thing is I have 100 users, the user can work on 1 or multiple schemas ( I mean same application with different schemas attached)
    Any help much appreciated.
    Thanks,

    Thank you for the reply.
    >> b) I think you have to give access rights for the dev_common and app_common to all users.
    Dev_common schema is a kind of placeholder. I have 50 schemas same as dev_common because of different business requirements but the front end is same for all 50 schemas. How can we create one application used for 50 schemas instead of creating 50 applications and 50 workspaces.
    Please help me.

  • Oracle BPM Workspace with Jasper

    Hi all,
    Can someone please guide me to documentation with examples of where I can find integration steps of BPM Workspace with Jasper for reporting purposes? I tried googling on the same but could not find anything in particular.
    Thanks
    Edited by: user2997085 on Feb 11, 2010 7:12 PM

    ...seems nothing happend: the BPM Workspace login page it is opened and there isn't any message in the log indicating that the new provider...
    Is there an Audit provider configured, which collects and stores the security logs.
    To my knowledge, WebLogic uses the same cookie name (<code>JSESSIONID</code>) for all web applications on the server.
    That way, no matter what type of authentication method is used in a particular web application, an authenticated user will have
    single sign-on to all other web applications in the server.
    If you want to have a global single sign-on a good solution would be to use Oracel Single Sign-On (http://download.oracle.com/docs/cd/E17904_01/core.1111/e10043/osso_d_10g.htm)
    With your own implementation how is the authentication token mapped to a username?

  • Deploy process in Oracle BPM Enterprise.

    Hi,
    I have a process which i have developed in Oracle BPM studio. Now I need to deploy this process in Oracle BPm Enterprise version. The other problem is how to access this process from enterprise. Where all the roles and participants maintained. I have oracle BPM enterprise integrated with Weblogic server.
    Please help!!
    Edited by: Anurag Yadav on Jul 31, 2009 12:11 PM

    Download the "Oracle BPM Enterprise Administration Guide" PDF from http://download.oracle.com/docs/cd/E13154_01/bpm/docs65/index.html.
    Take a look at pages 10 - 17. Page 17 describes how to create a new role in Enterprise.
    Look at page 22. This describes how you can match the abstract roles (roles created in Studio) to real roles (roles created in Enterprise described on page 17).
    In development, I'll usually just select the "Smart Publish" option as I'm publishing the project. This automatically creates a new real role on Enterprise and automatically matches it to the abstract role created in Studio while you're publishing your project.
    Dan

  • Integrating Oracle BPM UI with Oracle BI Publisher as reporting tool.

              We are using WebCenter Content 11.1.1.6.0 (Ps5) version with Oracle BPM for the workflows.
    Is it possible to integrate Oracle BI Publisher to print reports from Oracle BPM User Interface (UI) ?    Basically user should be able to generate a *.pdf file with approved data after the final approval.
    What are the Tables that stores Oracle BPM field Values?
    Thanks ..

    Hi,
    Let me share the basic steps. You can always dump the view data into an XML file by using writeXML method.
    e.g.
    You need to place BIP jars into BPM domain_home/lib dir.
    MASTER_QUERY="select * from employees where employee_id=:0";
    ViewObject master = createViewObjectFromQueryStmt(null, MASTER_QUERY);
    master.setWhereClauseParam(0, employee_id);
    Row firstRow = master.first();
    Node data = master.writeXML(-1, XMLInterface.XML_OPT_ALL_ROWS);
    then you can call the following method to generate pdf based on your template.
      resource = "C:\\app\\stage\\templates\\YourBIPTemplate.rtf";
        private File generatePDF(Node data, String resource) {
            File ApplicationDataFile = null;
            File tmpTemplateFile = null;
            File pdf = null;
            OutputStream output = null;
            InputStream is =
                Thread.currentThread().getContextClassLoader().getResourceAsStream(resource);
            try {
                Date date = Calendar.getInstance().getTime();
                SimpleDateFormat sdf = new SimpleDateFormat("MMddHHmm");
                int uid =
                    (new oracle.jbo.server.SequenceImpl("DDOCNAME_SEQ", this.getDBTransaction())).getSequenceNumber().intValue();
                pdf =
    new File(tmpDir + File.separator  + docType + uid + ".pdf");
                pdf.createNewFile();
                output = new FileOutputStream(pdf);
                output = new BufferedOutputStream(output);
                ApplicationDataFile =
                        new File("C:\\Temp\\ApplicationData"  +
                                 ".xml");
                try {
                    Writer sWriter =
                        new BufferedWriter(new OutputStreamWriter(new FileOutputStream(ApplicationDataFile),
                                                                  "UTF-8"));
                    ((XMLNode)data).print(sWriter);
                } catch (Exception e) {
                    e.printStackTrace();
                byte[] sXML = null;
                StringBuffer buffer = new StringBuffer();
                FileInputStream fis = new FileInputStream(ApplicationDataFile);
                InputStreamReader isr = new InputStreamReader(fis, "UTF8");
                Reader in = new BufferedReader(isr);
                int ch;
                while ((ch = in.read()) > -1) {
                    buffer.append((char)ch);
                in.close();
                sXML = buffer.toString().getBytes("UTF-8");
                InputStream rtfInputStream = new FileInputStream(resource);
                RTFProcessor rtfProcessor = new RTFProcessor(rtfInputStream);
                tmpTemplateFile =
                        File.createTempFile("ApplicationTemplate", ".tmp");
                rtfProcessor.setOutput(tmpTemplateFile.getAbsolutePath());
                System.out.println("Temp file is created: " +
                                   tmpTemplateFile.getAbsolutePath().toString());
                rtfProcessor.process();
                FOProcessor processor = new FOProcessor();
                processor.setData(new java.io.ByteArrayInputStream(sXML));
                processor.setTemplate(tmpTemplateFile.getAbsolutePath());
                processor.setOutput(output);
                processor.setOutputFormat(FOProcessor.FORMAT_PDF);
                processor.generate();
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                System.out.println("Finished generating application PDF");
            return pdf;

  • Oracle BPM Studio with JDK 1.6

    Hi,
    regarding to the the release notes of the Oracle BPM 10.3.1 (http://download.oracle.com/docs/cd/E13154_01/bpm/docs65/relnotes/release_notes_OracleBPM10gR3.htm) the studio runs now with a JVM 1.6. But after I installed it seems to me that it is still 1.5 (if you look in Help/About Oracle BPM Studio/Configuration Details). Can I simply exchange the underlying JDK oder would there be any problems?
    Kind regards
    Matthias

    you can.
    See the changing your JVM section for Studio at the following pages for instructions on what to do http://download-llnw.oracle.com/docs/cd/E13154_01/bpm/docs65/installguide/index.html
    Thanks,
    Mike

  • ORACLE BPM - Integration with BI

    We have to integrate Oracle BPM with SAP-BI. Does Oracle BPM provide any adapters to connect to staging tables.
    ThankYou!

    before importing delete / rename PublicReportService under business services, and also delete/rename all the IO for project XMLP Integration. Make sure there are no other Siebel repositories existing except Siebel Repository (no backups). Then import the WSDL.

  • How to get start to develop Oracle database applications with NetBeans?

    Dear Ladies and gentlemen,
    I am new to NetBeans. And I know nothing about Oracle. I have installed the
    NetBeans 6.8, and I want to learn Oracle database application development
    with NetBeans. I don't know how to get start. Give me some suggestions,
    please. Thank you very much.
    Best Regards
    Ma Xiaoguang

    Download Oracle Express Edition for educational purposes and start from there.
    Download at:
    http://www.oracle.com/technetwork/database/express-edition/downloads/index.html
    Documentation at:
    http://www.oracle.com/pls/xe102/homepage

  • Help needed in running the RMI application with multiple clients

    Hi
    I have my RMI application with one server and 6 clients. I keep all the server and client programs in the same directory. When i run the clients, the first 2 clients work properly but when the third or the fourth client starts, it works normally in getting the data and after a while it crashes. If teh third crashes the 4th works and if the 4th crashes the 3rd, 4th and 5th works ...randomly atleast one or 2 clients crash always.
    following is the error message generated for a client named controller:
    [ code ]
    Exception in thread "main" java.lang.NullPointerException
    at PostOfficeImpl.isinputAvail(PostOfficeImpl.Java:315)
    at PostOfficeImpl_Skel.dispatch(Unknown Source)
    at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:375)
    at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:240)
    at sun,rmi.transport.Transport$1.run(Transport.java:153)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun,rmi.transport.Transport.serviceCall(Transport.java:149)
    at sun,rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
    at sun,rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
    at java.lang.Thread.run(Thread.java:595)
    at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247)
    at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223)
    at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:343)
    at PostOfficeImpl_Stub.isinputAvail(Unknown Source)
    at CONTROLLER.main(CONTROLLER.java:167)
    my ser ver program is as follows:
    class PostOfficeServer extends java.rmi.server.UnicastRemoteObject implements java.rmi.Remote {
    // Instance of ourselves
    public static String name;
    private static PostOfficeServer rmi;
    // public No-argument constructor
    public PostOfficeServer() throws RemoteException {
         super();
    public static void main(String[] args){
    if(System.getSecurityManager() == null) {
         System.setSecurityManager(new RMISecurityManager());
    try {
         new PostOfficeServer();
         PostOffice postOfficeserver = new PostOfficeImpl();
    try {
         getIP ipAdd1 = new getIP();
         String ip1 = ipAdd1.getIP();
         name = "//" + ip1 + "/PostOffice";
    catch (Exception e){
         System.out.println();
    Naming.rebind(name, postOfficeserver);
    System.out.println("RemoteServer bound");
    System.out.println("initialise Data Structure");
    postOfficeserver.initDatastructure();
    System.out.println("initilised");
    catch (java.rmi.RemoteException e) {
         System.out.println("Cannot create remote server object");
    catch (java.net.MalformedURLException e) {
         System.out.println("Cannot look up server object");
    System.out.println("Server started.");
    System.out.println("Enter <CR> to end.");
    try {
         int serve2end = System.in.read();
    }catch (IOException ioException) {
    System.exit(0);
    //endoffilePlease advise as this is very urgent

    Hi
    the following is the code for PostOfficeImpl...its a long code but i include it so that I get your help please...
    import java.io.*;
    import java.net.*;
    import java.lang.*;
    import java.rmi.*;
    import java.rmi.server.*;
    import java.rmi.RemoteException;
    import java.util.HashMap;
    import java.util.*;
    public class PostOfficeImpl extends java.rmi.server.UnicastRemoteObject implements PostOffice {
    //Implementations must have an explicit constructor in order to declare the
    //RemoteException exception
    public PostOfficeImpl() throws java.rmi.RemoteException {
         super();
    public static LinkedListImpl list = new LinkedListImpl();
    public static oListImpl ovarList  = new oListImpl();
    public static iListImpl ivarList =new iListImpl();
    public static lipsList llfirst;
    public static oList opchannel, ofirst, onext;
    public static iList ipchannel, ichan, ifirst;
    public static  String[] variNumber= new String[100];
    public static String[] inoutChan, inChan, outChan,inVAR, invarLIST,outVAR, outvarLIST ;
    public static String[][] driveMat;
    DriverMatrix_mthds drive = new DriverMatrix_mthds();
    private static  Boolean All_Vacant;
    private static  Boolean tAll_Vacant;
    public void sendAll_Vacant(Boolean All_Vacant) throws RemoteException {
         tAll_Vacant = All_Vacant;
    public Boolean getAll_Vacant() throws RemoteException{
          return tAll_Vacant;
    public  void initDatastructure() throws RemoteException{
    ifirst = null;
    ofirst=null;
    int i=0, j=0, k=0, ind1=0, ind2=0;
    try{/// initialise list
         drive = new DriverMatrix_mthds();
         drive.VarTypeArray();
         drive.nodeHeadVarType();
         String[] variablel = drive.Variablelist();
         drive.lipsvariablist();
         drive.NodeOrigin();
    drive.nodeInput();
         drive.numOfnodes();
         drive.noOfVariables();
         drive.Assignlist();
         drive.novarType();
         drive.varNameType();
         drive.nodeNumName();
         drive.driverMat();
         String[][] lookupvar = drive.varNameType();
         //tempdrive = drive.driverMat();
         long leng1 = variablel.length;
         int varlistlength = (int) leng1;
         int counter;
         String s1="";
         String s2="";
         String s3 = "";
         String s4 = "";
         String s6 = "";
         int s5=0, c=0;
         while(variablel[k] !=null){
              k=k+1;
         int i1, j1;
         String  varname, varnumber;
         varnumber = "";
    while(i<=variablel.length-1){
         if(variablel!=null){
         c=c+1;
         i=i+1;
    try{
         ind1=0; ind2 = 0;i=0;
    while(!(variablel[i].equals("end of file"))){
         s1 = variablel[i];
         i=i+1;
         s2 = variablel[i];
         i=i+1;
         System.out.println("     " + s1+"     "+s2);
    while(!(variablel[i].equals("end of input variable"))){
         s4 = variablel[i];
         i1=0;
         Brkwhile:while(i1<=lookupvar.length-1){
         j1=1;
         if(lookupvar[i1][j1] != null){
         if(lookupvar[i1][j1].equals(s4)){
              s3 = lookupvar[i1][0];
              break Brkwhile;
         i1=i1+1;
    //ifirst.varNum = varnumber;
    s5 = 0;
    s6 = null;
    ifirst= new iList(s3,s4, s5, s6);
    ivarList.add(ifirst);
    System.out.println(s3+"     "+s4+"     "+s5+"     "+s6);
    i=i+1;
    i = i + 1;
    System.out.println("input list finished ");
    while(!(variablel[i].equals("end of output variable"))){
         s4 = variablel[i];
         i1=0;
         j1=1;
         Brkwhile:while(lookupvar[i1][j1] != null){
              if(lookupvar[i1][j1].equals(s4)){
              s3 = lookupvar[i1][0];
              break Brkwhile;
         i1=i1+1;
         s5 = 0;
         s6 = null;
         ofirst= new oList(s3,s4, s5, s6);
         ovarList.add(ofirst);
         System.out.println(s3+"     "+s4+"     "+s5+"     "+s6);
         i=i+1;
         llfirst = new lipsList(s1, s2, ivarList, ovarList);
         list.add(llfirst);
         System.out.println("output list finished ");
         i=i+1;
         catch (NullPointerException ne){
         catch (Exception d){}
    public int isitOK(reqPacket sndNodetail)
         throws RemoteException{
         String nodnum = sndNodetail.srcNum;
         String varnum = sndNodetail.varNum;
         int status = 0;
         llfirst = list.getFirst();
         try{mainbegin:while (llfirst != null){
              if((llfirst.nodeNum).equals(nodnum)){
              ofirst = ovarList.getFirst();
              while(ofirst != null){
                   if((ofirst.varNum).equals(varnum)){
                   if(ofirst.varVal==null){
                   status = 1;
                   break mainbegin;
         ofirst = ofirst.next;
         llfirst = llfirst.next;
         catch (NullPointerException nl){}
         return status;
    public int senData(dataPacket sendToRTS)
         throws RemoteException{
    dataPacket datDetail = sendToRTS;
    String nnum, vnum,typename, dval;
    String dtype = "";
    nnum = datDetail.nodeNum;
    vnum = datDetail.varNum;
    typename = datDetail.dataType;
    dval = String.valueOf(datDetail.dataVal);
    String [][] tempdrive, varnametype;
    int status =0;
    System.out.println("data received is from node " nnum " is "+ dval+"var num " +vnum);
    status =0;
    try{
    //DriverMatrix_mthds drive = new DriverMatrix_mthds();
    drive.VarTypeArray();
    drive.Variablelist();
    drive.NodeOrigin();
    drive.nodeInput();
    drive.numOfnodes();
    drive.noOfVariables();
    String[][] lookupvar = drive.novarType();
    drive.varNameType();
    drive.nodeNumName();
    drive.driverMat();
    tempdrive = drive.driverMat();
    String varname="";
    int i,j;
    //with the recived var name get the var num
    for(i=0; i<=lookupvar.length-1; i++){
         j=0;
         if(lookupvar[i][j] != null){
              if(lookupvar[i][j].equals(typename)){
                   dtype = lookupvar[i][1];
         }//varname is moved to dtype n used for checking
         for(i=0; i<=tempdrive.length-1; i++){j=0;
         if (tempdrive[i][j] != null){
         if (tempdrive[i][0].equals(vnum)){
              if (tempdrive[i][1].equals(nnum)){
              if(tempdrive[i][2].equals(dtype)){
              status = 1;
         }//System.out.println("received data " vnum " "+ nnum +" " + dtype +" "+dval);// after checking status if the status is 1 then set the counter n olist// to no of times the value has to be ditributed
    int Ccount =0;
    //opchannel = llfirst.olist;
    try{
         System.out.println("status"+status);
         if (status == 1){
              llfirst = list.getFirst();
         mainWhile: while (llfirst != null){
              if((llfirst.nodeNum).equals(nnum)){
                   ofirst = ovarList.getFirst();
                   while(ofirst != null){
                   if((ofirst.varNum).equals(vnum)){
                        ofirst.varVal =dval;
                        //setting the counter for the varname
                        //check driver matrix fr the no of occurances
                   for(i=0; i<=tempdrive.length-1; i++){
                   j=0;
                   if (tempdrive[i][j] != null){
                        if (tempdrive[i][0].equals(vnum)){
                        for(j= j+3;j<=tempdrive.length-1;j++){
                        if(tempdrive[i][j] != null){
                        if(tempdrive[i][j].equals("1")){
                        Ccount = Ccount + 1;
    System.out.println("count"+Ccount);
    ofirst.counter = Ccount;
    ofirst.varNum = vnum;for(i=0; i<=lookupvar.length-1; i++){
    for(j=0; j<=2; j++){
         if(lookupvar[i][j] != null){
         if(lookupvar[i][j].equals(vnum)){
              varname = lookupvar[i][1];
         ofirst.varName = varname;
         Ccount=0;
         break mainWhile;
         ofirst = ofirst.next;
         llfirst = llfirst.next;
         catch(NullPointerException s){}
    /*use the vnum in the driver matrix and find out the nodes to which this variable
    *has been sent as input , i mean destination nodes..
    *find the node numbers ..knowing the node numbers parse through data structure
    and set the input values to value and status 1./
    llfirst = list.getFirst();
    while(llfirst != null){
         ifirst = llfirst.ilist.getFirst();
         while(ifirst != null){
              if (ifirst.varNum.equals(vnum)){
              ifirst.varStat = 1;
              ifirst.varVal = dval;
              //     System.out.println("nodenum "+llfirst.nodeNum+" varval     " + ifirst.varVal +"     stat "+ifirst.varStat+" vnum " + ifirst.varNum);
         ifirst=ifirst.next;
         llfirst=llfirst.next;
         catch (Exception e){};
         return status;
    public int isinputAvail(reqPacket inputReq)
         throws RemoteException{
         String srcnum = inputReq.srcNum;
         String varnum = inputReq.varNum;
         int availstatus =0;
         llfirst = list.getFirst();
         //System.out.println("llfirst.nodeNum     "+ llfirst.nodeNum);
         whileloop:while (llfirst != null){
              if((llfirst.nodeNum).equals(srcnum)){
              ifirst = llfirst.ilist.getFirst();
              breakloop: while(ifirst != null){
              //System.out.println("var num " + varnum + "     " + "status outside" + ifirst.varStat);
              if((ifirst.varNum).equals(varnum)){
              if (ifirst.varStat == 1){
                   availstatus = 1;
                   ifirst.varStat = 0;
                   // System.out.println("var num " + varnum + "     " + "status" + availstatus);
                   break whileloop;
         ifirst = ifirst.next;
         llfirst = llfirst.next;
         //System.out.println("var num " + varnum + "     " + "status" + availstatus);
         return availstatus;
    public dataPacket senDatatoNode(reqPacket sendFromRTS)
         throws RemoteException {
         String nnum, vnum, dtype, dval;
         //nnum = "";
         dtype="";
         //opchannel = llfirst.olist;
         //     ipchannel = llfirst.ilist;
         reqPacket sendfromrts = sendFromRTS;
         nnum = sendfromrts.srcNum;
         vnum = sendfromrts.varNum;
         //     dtype = sendFromRTS.dataType;
         dval = "";
         int ctrchk=0;
         try{
         //send data to process node n reduce the counter by 1
         llfirst = list.getFirst();
              mainWhile: while (llfirst != null){
              if((llfirst.nodeNum).equals(nnum)){
              ofirst = llfirst.olist.getFirst();
         whileofirst: while(ofirst != null){
              if((ofirst.varNum).equals(vnum)){
              dval = ofirst.varVal;
              ofirst.counter = ofirst.counter - 1;
              //     System.out.println(ofirst.counter);
              ctrchk=ofirst.counter;
              break whileofirst;
         ofirst = ofirst.next;
    //set the status of respective input channel to 0 as data has been sent
         ifirst = llfirst.ilist.getFirst();
         if(ctrchk == 0){
         whileifirst: while(ifirst != null){
              if((ifirst.varNum).equals(vnum)){
              //ifirst.varVal = dval;
              ifirst.varStat =0;
              break whileifirst;
         llfirst = llfirst.next;
         //System.out.println(llfirst);
         catch(NullPointerException s){}
    //find type
    try{
         DriverMatrix_mthds driver = new DriverMatrix_mthds();
         driver.VarTypeArray();
         driver.Variablelist();
         driver.NodeOrigin();
         driver.nodeInput();
         driver.numOfnodes();
         driver.noOfVariables();
         driver.novarType()     ;
         String[][] lookupvar = driver.varNameType();
         int i, j;
         String varNum = vnum;
         for(i=0; i<=lookupvar.length-1; i++){
              j=0;
              if(lookupvar[i][j] != null){
              if(lookupvar[i][j].equals(vnum)){
              dtype = lookupvar[i][2];
         catch (Exception d){}
         dataPacket retpac = new dataPacket(nnum, vnum, dtype, dval);
         System.out.println("msg sent "+ nnum +"     " + vnum+" "+ dtype+"     "+ dval);
         return retpac;
    public String findnodeName(String nodeNum)
         throws RemoteException{
    String nnum = nodeNum;
    llfirst = list.getFirst();
    while (llfirst != null){
         if((llfirst.nodeNum).equals(nnum)){
         return llfirst.nodeName;
         llfirst = llfirst.next;
         System.out.println("node Number does not match with the list of node numbers generated..try again");
         return null;
    //find the nodenum given the node name
    public String findnodenum(String nodename)
         throws RemoteException{
         String nodenumber ="";
         String nodname = nodename;
         try{DriverMatrix_mthds driver = new DriverMatrix_mthds();
         driver.VarTypeArray();
         driver.Variablelist();
         driver.NodeOrigin();
         driver.nodeInput();
         driver.numOfnodes();
         driver.noOfVariables();
         driver.novarType()     ;
         driver.varNameType();
         String[][] lookupnode = driver.nodeNumName();
         int i, j;
         for(i=0; i<=lookupnode.length-1; i++){
         for(j=0; j<=2; j++){
              if(lookupnode[i][j] != null){
              if(lookupnode[i][j].equals(nodname)){
                   nodenumber = lookupnode[i][2];
         catch (Exception d){}
         return nodenumber;
    public String findvarnum(String variablename)
         throws RemoteException{
         String varnumber = "";
         try{
         DriverMatrix_mthds driver = new DriverMatrix_mthds();
         driver.VarTypeArray();
         driver.Variablelist();
         driver.NodeOrigin();
         driver.nodeInput();
         driver.numOfnodes();
         driver.noOfVariables();
         driver.novarType()     ;
         String[][] lookupvar = driver.varNameType();
         int i, j;
         String varname = variablename;
         for(i=0; i<=lookupvar.length-1; i++){
         for(j=0; j<=2; j++){
              if(lookupvar[i][j] != null){
              if(lookupvar[i][j].equals(varname)){
                   varnumber = lookupvar[i][0];
    catch (Exception d){}
    return varnumber;
    public String findvartype(String varname)
         throws RemoteException{
         String vartype = "";
         try{
         DriverMatrix_mthds driver = new DriverMatrix_mthds();
         driver.VarTypeArray();
         driver.Variablelist();
         driver.NodeOrigin();
         driver.nodeInput();
         driver.numOfnodes();
         driver.noOfVariables();
         driver.novarType();
         String[][] lookupvar = driver.varNameType();
         int i, j;
         String varName = varname;
         for(i=0; i<=lookupvar.length-1; i++){
         for(j=0; j<=2; j++){
              if(lookupvar[i][j] != null){
              if(lookupvar[i][j].equals(varName)){
                   vartype = lookupvar[i][2];
    catch (Exception d){}
    return vartype;
    public String findtypenum(String vartype){
    String varnum = "";int i;
    try{
         DriverMatrix_mthds driver = new DriverMatrix_mthds();
         driver.VarTypeArray();
         driver.Variablelist();
         driver.NodeOrigin();
         driver.nodeInput();
         driver.numOfnodes();
         driver.noOfVariables();
         String varNum[][] =      driver.novarType()     ;
         String varType = vartype;
         for(i=0; i<=9-1; i++){
              if(varNum[i][0] != null){
              if(varNum[i][0].equals(varType)){
                   varnum = varNum[i][1];
    catch (Exception d){}
    return vartype;
    //return input variable list
    public String[] inoutchanlist(String nodenum, String nodenam)
         throws RemoteException{
    try{
         DriverMatrix_mthds drive = new DriverMatrix_mthds();
         String[] varLIST = drive.Variablelist();
         int i=0;int j;
         while(varLIST[i]!=null){
              i=i+1;
         int arrlength = i;
         inoutChan = new String[arrlength];
         i=0; j=0;
         WHILELOOP:
         while(!(varLIST[i].equals("end of file"))){
         while(varLIST[i].equals(nodenum)){
              i=i+1;
              while(varLIST[i].equals(nodenam)){
                   i=i+1;
                   while(!(varLIST[i].equals("end of input variable"))){
                        inoutChan[j] = varLIST[i];
                        i=i+1;
                        j=j+1;
              System.out.println("endofinput");
              inoutChan[j]="endofinchan";
              j=j+1;
              i=i+1;
              while(!(varLIST[i].equals("end of output variable"))){
         inoutChan[j] = varLIST[i];
         i=i+1;
         j=j+1;
         System.out.println("endofoutput");
         inoutChan[j]="endofoutchan";
         break WHILELOOP;
         i=i+1;
         arrlength =j;
         for(j=0; j<=arrlength-1; j++){
         System.out.println(inoutChan[j]);
         catch (Exception e){}
         return inoutChan;
    public String[] inchannel(String[] inoutChan) throws RemoteException{
    int count=0;int i=0, j=0;
    System.out.println("entered");
    while(inoutChan[count]!=null){
         System.out.println(count + " " +inoutChan[count]);
         count=count+1;
         inChan = new String[count];
         while(!(inoutChan[i].equals("endofinchan"))){
         inChan[j] =inoutChan[i];
         j=j+1; i=i+1;
    return inChan;
    public String[] outchannel(String[] inoutChan) throws RemoteException{
    int count=0;int i=0, j=0;
    System.out.println("entered");
    while(inoutChan[count]!=null){
         System.out.println(count + " " +inoutChan[count]);
         count=count+1;
         outChan = new String[count+1];
         while(!(inoutChan[i].equals("endofinchan"))){
              i=i+1;
         i=i+1;
         while(!(inoutChan[i].equals("endofoutchan"))){
              outChan[j] =inoutChan[i];
              j=j+1; i=i+1;
         return outChan;
    public String[] invarChan(String nodename, int guardno)throws RemoteException{
    try{
    DriverMatrix_mthds drive = new DriverMatrix_mthds();
    invarLIST = drive.invarlist();
    int i=0;int j;
    while(invarLIST[i]!=null){
         i=i+1;
         int arrlength = i;
         inVAR = new String[arrlength];
         i=0; j=0;
              WHILELOOP: while(!(invarLIST[i].equals("end of file"))){
                   if (invarLIST[i].equals(nodename)){
         i=i+1;
         while(!(invarLIST[i].equals(nodename+String.valueOf(guardno)))){
         i=i+1;}
         i=i+1;
         while(!(invarLIST[i].equals("endofguard"))){
         System.out.println(invarLIST[i]);inVAR[j]=invarLIST[i]; i=i+1; j=j+1;}
         break WHILELOOP;}
         i=i+1;}
    }catch (Exception d){}
    return inVAR;
    public String[] outvarChan(String nodename, int guardcount)throws RemoteException{
         try{
         DriverMatrix_mthds drive = new DriverMatrix_mthds();
         outvarLIST = drive.outvarlist();
         int i=0;int j;
         while(outvarLIST[i]!=null){
              i=i+1;
         int arrlength = i;
         outVAR = new String[arrlength];
         i=0; j=0;
         WHILELOOP: while(!(outvarLIST[i].equals("end of file"))){
              if (outvarLIST[i].equals(nodename)){
                   i=i+1;
                   while(!(outvarLIST[i].equals(nodename+String.valueOf(guardcount)+"guard"))){
                        i=i+1;}
              i=i+1;
              while(!(outvarLIST[i].equals("end guard"))){
              System.out.println(outvarLIST[i]);outVAR[j]=outvarLIST[i]; i=i+1; j=j+1;}
              break WHILELOOP;}
         i=i+1;}
    }catch (Exception d){}
    return outVAR;
    private static Boolean start;
    private static Boolean tstart;
    public void sendstart(Boolean start) throws RemoteException {
         tstart = start;
    public Boolean getstart() throws RemoteException{
         return tstart;
    private static Boolean done;
    private static Boolean tdone;
    public void senddone(Boolean done) throws RemoteException {
         tdone = done;
    public Boolean getdone() throws RemoteException{
         return tdone;
    private static Boolean vac_busy1;
    private static Boolean tvac_busy1;
    public void sendvac_busy1(Boolean vac_busy1) throws RemoteException {
         tvac_busy1 = vac_busy1;
    public Boolean getvac_busy1() throws RemoteException{
         return tvac_busy1;
    private static int cus1_rit1;
    private static int tcus1_rit1;
    public void sendcus1_rit1(int cus1_rit1) throws RemoteException {
         tcus1_rit1 = cus1_rit1;
    public int getcus1_rit1() throws RemoteException{
         return tcus1_rit1;
    private static int cus1_rit2;
    private static int tcus1_rit2;
    public void sendcus1_rit2(int cus1_rit2) throws RemoteException {
         tcus1_rit2 = cus1_rit2;
    public int getcus1_rit2() throws RemoteException{
         return tcus1_rit2;
    private static int cus1_rit3;
    private static int tcus1_rit3;
    public void sendcus1_rit3(int cus1_rit3) throws RemoteException {
         tcus1_rit3 = cus1_rit3;
    public int getcus1_rit3() throws RemoteException{
         return tcus1_rit3;
    private static int cus1_it1;
    private static int tcus1_it1;
    public void sendcus1_it1(int cus1_it1) throws RemoteException {
         tcus1_it1 = cus1_it1;
    public int getcus1_it1() throws RemoteException{
         return tcus1_it1;
    private static int cus1_it2;
    private static int tcus1_it2;
    public void sendcus1_it2(int cus1_it2) throws RemoteException {
         tcus1_it2 = cus1_it2;
    public int getcus1_it2() throws RemoteException{
         return tcus1_it2;
    private static int cus1_it3;
    private static int tcus1_it3;
    public void sendcus1_it3(int cus1_it3) throws RemoteException {
         tcus1_it3 = cus1_it3;
    public int getcus1_it3() throws RemoteException{
         return tcus1_it3;
    private static int stkit_11;
    private static int tstkit_11;
    public void sendstkit_11(int stkit_11) throws RemoteException {
         tstkit_11 = stkit_11;
    public int getstkit_11() throws RemoteException{
         return tstkit_11;
    private static int stkit_12;
    private static int tstkit_12;
    public void sendstkit_12(int stkit_12) throws RemoteException {
         tstkit_12 = stkit_12;
    public int getstkit_12() throws RemoteException{
         return tstkit_12;
    private static int stkit_13;
    private static int tstkit_13;
    public void sendstkit_13(int stkit_13) throws RemoteException {
         tstkit_13 = stkit_13;
    public int getstkit_13() throws RemoteException{
         return tstkit_13;
    private static int c1_it1;
    private static int tc1_it1;
    public void sendc1_it1(int c1_it1) throws RemoteException {
         tc1_it1 = c1_it1;
    public int getc1_it1() throws RemoteException{
         return tc1_it1;
    private static int c1_it2;
    private static int tc1_it2;
    public void sendc1_it2(int c1_it2) throws RemoteException {
         tc1_it2 = c1_it2;
    public int getc1_it2() throws RemoteException{
         return tc1_it2;
    private static int c1_it3;
    private static int tc1_it3;
    public void sendc1_it3(int c1_it3) throws RemoteException {
         tc1_it3 = c1_it3;
    public int getc1_it3() throws RemoteException{
         return tc1_it3;
    //endoffile

  • Remote Application with multiple computers multiple rooms

    I am planing a whole-house music system and have played around with the Remote application. Seems to work fine in my setup with a MacBook Pro. Have several AiportExpress that I can see through REMOTE but they are not linked to speakers.
    Here what I would like to do.
    1) Control each room separately, so each could have its own music playing or multiple rooms playing having the same song. I think currently one would need to build more than one loop of AirportExpress's linked to the same speakers. With two loops one could access two different libraries on two computers and so have two different songs playing in 2 zones.
    2) Control the loudness in each room. This could be a big problem. There is one master volume, but if one room is larger or has more speakers it could be much louder than the other rooms. So one would constantly play around with the volume when moving from room to room.
    3) Use more than one iPod Touch or iPhone in one set up, so that all people in the house can control the music. I only have one iPhone so I have not had a chance to check this one out. Is it possible to have more than one controlling iPhone or iPod Touch?
    Nice to haves
    1) An alarm function with the time and song selected and with zero volume slowly increasing to a set value over a set time.
    2) Cover flow on the iPhone or iPod Touch
    3) Remote launching of iTunes from the iPhone or iPod Touch
    Any suggestions or answers are welcome. Thanks for your help.

    There are no post activities available in ConfigMgr. Either use dependencies (so that the post activities application/DT has a dependency to the application itself - which is not the best way to solve it imho) or use a wrapper (cmd, ps1, vbs etc) that
    installs the application first and performs additional things afterwards.
    Torsten Meringer | http://www.mssccmfaq.de

  • How to use one application with multiple schema without copying application?

    Hi,
    Previously we are using oracle forms and by that we can manage by using a set of folders containing fmx and use different schema/database for different customers. so the source code comes from one individual file but used for different database users.
    is it possible to do this without copying application in apex?
    reason is because if applications are copied for each customer, and in a situation where a page has a bug, the developer must correct multiple pages across all the application. This would not be appropriate to manage.
    could this be done in apex? or is there any other approach?

    Hi,
    An application is tied to its parsing schema, so it is not possible to have one code base which you can then point to different schemas. I have seen some threads relating to dynamically setting the parsing schema, but I don't think it has worked to well, and would not be a supported configuration by Oracle.
    The normal way to do this is to have one schema and for each entity where it is logical you will have an extra key which is the customer id. I mention where it is logical, because not every entity needs its own data defined by customer. Some data will be common across all customers, such as lookup data and some entities will comprise child entities by which the data separation will be implied by the parent. You can then use Oracle's Virtual Private Database feature to implement a seperate view of the data through the application, based most likely on the customer who is logged on.
    Hope this helps.
    Regards
    Andre

  • How to develope application with multiple schema

    Hi,
    In my application, there is 3 schema, forms are from different schema, but the database is one. How should I manage it, When i open the form with different schema I am not getting the expected result,
    I am using Oracle 10g Forms & Database
    Thanks in advance
    Rizly

    hi,
    what database-user is the user connected with, when executing the forms ? Is it one of the three schemaowners or has each logical user his own database-user?
    About your db-objects:
    I would create 3 roles, one for each schema, and grant the needed privileges for one schema to the according role
    Example:
    CREATE ROLE RL_SCHEMA1;
    GRANT SELECT, INSERT, UPDATE, DELETE ON SCHEMA1.TABLE RO RL_SCHEMA1;
    ...Then you can grant the roles to the databaseuser you are connected with at runtime.
    If you use named users (each logical user has it's own database-user) then you assign each user only those roles he needs.

Maybe you are looking for

  • Is it possible to call a method in a servlet from  a java script ?

    I need to do a dynamic html page . In the page i select some things and then these things must communicate whit a servlet because the servlet will do some DB querys and update the same webpage. So is it possible to actually call a method of a servlet

  • Aperture regards masters as previews

    Hi, I recently moved from iPhoto to Aperture. I opened my existing iPhoto library, which holds 25k pictures, in Aperture (so I did not use the File -> Import option, I simply opened the existing iPhote library). Out of the 25k photos, roughly 500 of

  • How to create collision system which allows player to push object

    Hi guys, For the game I'm making, I wanna set up a game mechanic/feature where  the player can push blocks around the level but currently having  problems setting the collision system to do this. I've been trying to  use method call (shown below) whi

  • Can I take video in w/o USB or Firewire?

    I have a MBP with s-video and pci express ports. Can I use these as inputs or are they just outputs? I'm researching Broadcast Video I/O Devices for my laptop.

  • Extend material master product Hierarchy

    Hi, one can extend the product hierachy with additonal levels thru structure PRODHS However the structure PRODH has a lenght of 18, what is the standard SAP lenght... Can one EXTEND beyond  this limit of 18 please? many thanks, Danny