Forte Batch Services
Hi Forte Users.
I am trying to write a Forte service that will control background batch
style jobs.
I want an Environment Visible non replicated service that will listen out
for events from clients and start tasks in other partitions to carry out
long batch type processing.
I want to use a reference partition so that several applications can have
access to these batch jobs.
I'm storing the taskdesc's of the batch tasks in an array on the batch
control service, I can then make a list of batch jobs running available to
client applications. I want these applications to be able to cancel the
batch jobs.
My problem is cancelling jobs in partitions that are load balanced.
I've found a TechNote (11046) that says "Currently, there is no way to
cancel a task on a load balanced partition"
I am considering having the batch control service write to files when a
batch job is cancelled and having the load balanced services reading these
files every so often to see if they should stop processing.
Is there a better way of doing this ?
How do other people handle large background processing jobs?
Any suggestions would be much appreciated.
Thanks
Tony.
Yes, this is possible. try to use the below code by changing the code at lines 14, and 30
you need to validate the status.
If it is helpful, please mark as correct or helpful
----------code start---------
Dim objWMIService, objWMIService2, objItem, objService, objService2
Dim colListOfServices, colListOfServices2, strComputer, strService, intSleep
Dim Finished
Dim objFSO
Dim objStream
Set objFSO = createobject("scripting.filesystemobject")
Set objTextFile2 = objFSO.CreateTextFile("D:\temp\StartServicesLog.txt", True)
Set wshshell = WScript.CreateObject("wscript.Shell")
strComputer = "<hostname>"
intSleep = 1000
' NB strService is case sensitive.
objTextFile2.writeLine "Stopping the FrontOffice service now."
strService = " 'sawsvc' "
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")
While Finished <> "Running" '-** ####-> change to Stopped for stop <--## *******
Set colListOfServices = objWMIService.ExecQuery _
("Select * from Win32_Service Where Name ="_
& strService & " ")
For Each objService in colListOfServices
objService.StartService() '---** ####-> objService.StopService() for stop <--## *******
WSCript.Sleep intSleep
Finished = objService.State
Next
Wend
objTextFile2.writeLine "Your "& strService & " service has Stopped."
objTextFile2.writeLine "Stopping the Gateway service now."
objTextFile2.writeLine "Your "& strService & " service has Stopped."
--------------code end---------
Similar Messages
-
Re: (forte-users) Service Object
what about subclassing it and putting the agent stuff in there
Matthew Middleton Ph: +61 2 9239 4972
Oryx Software Consultant Fax: +61 2 9239 4900
Lawpoint Pty. Ltd. E-mail matthewmwriteme.com
----- Original Message -----
From: Ramarao Pabbaraju <RPabbarajulmimsno.com>
To: <kamranaminyahoo.com>
Sent: Tuesday, February 29, 2000 9:02 AM
Subject: (forte-users) Service Object
Hi,
We have a class X which we would like to use it for service object andalso
to instantiate it locally to call some methods. We would like to have
system agents for the service object, but not for objects instantiated
locally. In other words, if the object is used for service object, only
then we want the agents (customized) to be initialized. How do we find out
whether it is service object in Init method self? Service objectproperties
(like isAnchored) or attributes (given from ServiceObject
properties/initial values window) are set only at the end of init method.
One workaround we could think of is start a task at the end of init method
and also delay the execution of method. Is there any clean way of doing
this?
Thanks in advance,
Ramarao
IonIdea
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com -
TransactionSet in EDI Batching Service
using BizTalk Batching service generating some X12 files now, Now, For the outbounding messages, I am processing
the messages one by one and then send to BizTalk Batching service to build the file. Problem is now the BizTalk will add ST/SE for every single message I send to Batching service, If I put 5000 records in the batching, it will generate a file with 5000 ST-SE
wondering if there's a way to control the ST/SE pairs so I can, say, have 5 ST/SE in the file, each have 1000
records. instead of current 5000 ST-SEs.For clarity, you're getting 5000 ST/SE's because you are sending 5000 ST/SE's. The Batching Service is not changing your messages in any way.
To restructure the message, you can intercept the batched output in an Orchestration or Pipeline Component and merge the Loops, at whatever level you want, into a single ST. This would be a custom procedure.
Credit By: Johns-305 -
Running Crystal Reports in a batch service.
Post Author: RichardP
CA Forum: General
I have set a Windows service to a run a Crystal Reports, and the code is as follows:-
Public Class WebForm1
Inherits System.Web.UI.Page
Dim crReport As New ReportDocument
Dim strConn As String = ConfigurationSettings.AppSettings("WebOASISConn")
#Region " Web Form Designer Generated Code "
'This call is required by the Web Form Designer.
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
End Sub
Protected WithEvents CrystalReportViewer1 As CrystalDecisions.Web.CrystalReportViewer
'NOTE: The following placeholder declaration is required by the Web Form Designer.
'Do not delete or move it.
Private designerPlaceholderDeclaration As System.Object
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: This method call is required by the Web Form Designer
'Do not modify it using the code editor.
InitializeComponent()
End Sub
#End Region
Public Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here
'CrystalReportViewer1.ReportSource = New WebServ5.STPMBReportService
'Dim NewServ1 As New WebServ5.service
Dim crConnectionInfo As New ConnectionInfo
Dim crConnServer As String = ConfigurationSettings.AppSettings("CrConnServer")
Dim crConnDbName As String = ConfigurationSettings.AppSettings("CrConnDbName")
Dim crConnUserId As String = ConfigurationSettings.AppSettings("CrConnUserId")
Dim crConnPassword As String = ConfigurationSettings.AppSettings("CrConnPassword")
'Dim err As String
'Try
crConnectionInfo.ServerName = crConnServer
crConnectionInfo.DatabaseName = crConnDbName
crConnectionInfo.UserID = crConnUserId
crConnectionInfo.Password = crConnPassword
'C:\Inetpub\wwwroot\WebServ5
'crReport.Load("http://localhost/WebServ5/STDPOReportService.asmx")
crReport.Load("http://localhost/WebServ5/STDPOReportService.asmx")
' crReport.Load(Server.MapPath("STDPOReportService.asmx"))
' Catch ex As Exception
'Err = ex.Message
'End Try
'(Server.MapPath("STDPOReport.rpt"))
'Dim reportName As Request.QueryString = "STDPOReport"
'CrystalReportViewer1.LogOnInfo.Add(CObj(crConnectionInfo))
'rystalReportViewer1.LogOnInfo.Item()
SetLogOnInfo(crConnServer, crConnDbName, crConnUserId, crConnPassword, "due_in")
SetLogOnInfo(crConnServer, crConnDbName, crConnUserId, crConnPassword, "stores_item")
SetLogOnInfo(crConnServer, crConnDbName, crConnUserId, crConnPassword, "unit_info")
'CrystalReportViewer1.ReportSource = "http://localhost/WebServ5/STDPOReportService.asmx"
CrystalReportViewer1.ReportSource = crReport
Dim myTable As CrystalDecisions.CrystalReports.Engine.Table
Dim MyLogonInfo As CrystalDecisions.Shared.TableLogOnInfo
For Each myTable In crReport.Database.Tables
'[With MyLogonInfo.ConnectionInfo
'End With
MyLogonInfo.ConnectionInfo = crConnectionInfo
myTable.ApplyLogOnInfo(MyLogonInfo)
Next
End Sub
Private Sub SetLogOnInfo(ByVal server As String, ByVal database As String, _
ByVal userID As String, ByVal password As String, ByVal _
table As String)
Dim logOnInfo As New TableLogOnInfo
logOnInfo = crReport.Database.Tables.Item(table).LogOnInfo
' Set the connection information for the table in the report.
logOnInfo.ConnectionInfo.ServerName = server
logOnInfo.ConnectionInfo.DatabaseName = database
logOnInfo.ConnectionInfo.UserID = userID
logOnInfo.ConnectionInfo.Password = Password
logOnInfo.TableName = table
End Sub
End Class
But when I attempt to run it I get this message:-
Server Error in '/WebApp5' Application.
Load report failed.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: CrystalDecisions.CrystalReports.Engine.LoadSaveReportException: Load report failed.
Source Error:
Line 56: crConnectionInfo.UserID = crConnUserId
Line 57: crConnectionInfo.Password = crConnPassword
Line 58: crReport.Load("http://localhost/WebServ5/STDPOReportService.asmx")
Line 59:
Line 60:
Source File: c:\inetpub\wwwroot\WebApp5\WebForm1.aspx.vb Line: 58
Stack Trace:
[LoadSaveReportException: Load report failed.]
[1].[1]I(String , EngineExceptionErrorID )
[1].[1]E(String , Int32 )
CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String reportName, OpenReportMethod openMethod, Int16 parentJob)
CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String reportName)
WebApp5.WebForm1.Page_Load(Object sender, EventArgs e) in c:\inetpub\wwwroot\WebApp5\WebForm1.aspx.vb:58
System.Web.UI.Control.OnLoad(EventArgs e)
System.Web.UI.Control.LoadRecursive()
System.Web.UI.Page.ProcessRequestMain()
Version Information: Microsoft .NET Framework Version:1.1.4322.2032; ASP.NET Version:1.1.4322.2032
Any ideas anyone?Hi,
I came across this and a hundred other problems when
trying to integrate Crystal into our application
framework. I agree with the previous post - crystal
either don't have a testing department for the JRC or
don't care about us :(
Anyhow, the solution I found was to create a pretend,
wrapper JDBC connection driver, which I fix in my
web.xml to the ODBC name my reports use. When the
Crystal control transfers to the connect method of my
driver, I route it to the correct database with
credentials and return a connection from the real
JDBC driver. Works a treat.
Hope this helpsHi,
How and where do you 'route' your handmade connection to JRC?
I set the user and password as in the documentaion described to the ConnectionInfo - collection, provide this to the viewer and nothing works...
When appending user & password info to the jdbc connect url (definied in web.xml, jndi) the report runs. But this solution isn't very flexible ... -
Re: How to call a Forte service from a Power Builderapplication
Ernesto,
There are two main ways that you can integrate PowerBuilder with a set
of Forte services:
First, you can use the tried-and-true ExternalConnection approach. This
would require some way of performing socket-level communication through
the PB application, which may be possible natively through PB (I'm rusty
on my PB skills), or you could get a third-party OCX to perform the
socket-level communication.
Second, you can, in Forte 3.0, set Forte services up as OLE servers,
into which your PowerBuilder application can call.
The OLE integration with Forte is discussed in the Integrating with
Windows and Macintosh manual, and ExternalConnections is discussed (I
think) in the Integrating with External Systems manual.
The best way to integrate Forte and PowerBuilder is ultimately up to
your team. You want to make sure that you choose the option that will
make your project successful, and determining which option best utilizes
you existing skill sets is an important consideration. Additionally,
you might want to perform some limited testing to determine which
approach will perform the best within your environment constraints. The
nice thing about Forte (and I know I've said this before) is that it is
relatively simple to integrate anything with anything! :)
I hope this helps.
-Katie
Ernesto Moscatelli wrote:
>
Hi,
we need to interface a PowerBuilder application (running under W/NT) to
a Forté service (running under Solaris): is there anybody who has
already done it? Which is the best (and most efficient) way to do it?
Thanks a lot,
Ernesto Moscatelli
EDS Italy
Banking Division--
Katie Carty
Senior Consultant
Forte Software, Inc.
http://www.forte.com
4801 Woodway Drive, Suite 300E
Houston, Texas 77056
vmail: (510) 986-3802
email: [email protected]
**************************************************Ernesto,
There are two main ways that you can integrate PowerBuilder with a set
of Forte services:
First, you can use the tried-and-true ExternalConnection approach. This
would require some way of performing socket-level communication through
the PB application, which may be possible natively through PB (I'm rusty
on my PB skills), or you could get a third-party OCX to perform the
socket-level communication.
Second, you can, in Forte 3.0, set Forte services up as OLE servers,
into which your PowerBuilder application can call.
The OLE integration with Forte is discussed in the Integrating with
Windows and Macintosh manual, and ExternalConnections is discussed (I
think) in the Integrating with External Systems manual.
The best way to integrate Forte and PowerBuilder is ultimately up to
your team. You want to make sure that you choose the option that will
make your project successful, and determining which option best utilizes
you existing skill sets is an important consideration. Additionally,
you might want to perform some limited testing to determine which
approach will perform the best within your environment constraints. The
nice thing about Forte (and I know I've said this before) is that it is
relatively simple to integrate anything with anything! :)
I hope this helps.
-Katie
Ernesto Moscatelli wrote:
>
Hi,
we need to interface a PowerBuilder application (running under W/NT) to
a Forté service (running under Solaris): is there anybody who has
already done it? Which is the best (and most efficient) way to do it?
Thanks a lot,
Ernesto Moscatelli
EDS Italy
Banking Division--
Katie Carty
Senior Consultant
Forte Software, Inc.
http://www.forte.com
4801 Woodway Drive, Suite 300E
Houston, Texas 77056
vmail: (510) 986-3802
email: [email protected]
************************************************** -
Job that never finishes in the Batch Apps Service?
We have a job that never finishes, the single task that it runs says it's finished but the job never ends. I end up having to cancel it.
The task that runs takes about 33 minutes or so to complete. Could whatever that monitors the job timeout waiting for the task to finish?
here's the log that we see for the job
2/25/2015 7:51:55 AM - (1) Completed task processing.
2/25/2015 7:51:54 AM - (1) Finished uploading outputs to blob storage.
2/25/2015 7:51:54 AM - (1) Uploading outputs to blob storage.
2/25/2015 7:51:54 AM - (1) Task output 0 files
2/25/2015 7:51:54 AM - (1) Completed external process.
2/25/2015 7:19:18 AM - (1) Starting external process.
2/25/2015 7:19:18 AM - (1) Completed assets download.
2/25/2015 7:19:18 AM - (1) Downloading assets to local storage.
2/25/2015 7:19:12 AM - (1) Starting task processing.
2/25/2015 7:18:31 AM - (Job) Job splitter finished
2/25/2015 7:18:23 AM - (Job) Job splitter started
2/25/2015 7:18:12 AM - (Job) The job orchestrator started
2/25/2015 7:13:05 AM - (Job) Using auto pool C14F1D31-BE60-4D02-9003-C05021B3C470
2/25/2015 7:13:05 AM - (Job) Requesting Azure compute resources - this may take several minutes
2/25/2015 7:13:03 AM - (Job) Job queued for processing
2/25/2015 7:13:01 AM - (Job) Job request receivedUnfortunately, posting our code here really isn't possible.
I can describe what we're doing and seeing.
We're not using the batch service to run command line applications. In our task processor, we're determining what classes to create and call and call them in process. We have a lot of job types (above 15 and counting) that we need to run, so we opted
to combine them into a single class library and call them that way. None of our jobs output any files, all of our output get persisted to blob storage. We're using the batch service kind of as an on-demand cloud worker infrastructure.
It seems like the issue (jobs that never end) are random. It's not always the same job and it's not always long running ones. When the issue does crop up, our task completes without any errors. We do see the results of our jobs in blob storage.
Also in our task processor, we set the TaskProcessResult's ProcessorOutput property to any messages we've logged. We can download and see those log messages in the portal.
We also see 2 tasks created for the job, our task and the default merge (we don't create merge tasks for our jobs).
Would the job id's or logs help in any way? -
How to call a Forte service from a Power Builderapplication
Hi,
we need to interface a PowerBuilder application (running under W/NT) to
a Forté service (running under Solaris): is there anybody who has
already done it? Which is the best (and most efficient) way to do it?
Thanks a lot,
Ernesto Moscatelli
EDS Italy
Banking DivisionHi,
we need to interface a PowerBuilder application (running under W/NT) to
a Forté service (running under Solaris): is there anybody who has
already done it? Which is the best (and most efficient) way to do it?
Thanks a lot,
Ernesto Moscatelli
EDS Italy
Banking Division -
HTTP client for WSDL service in Forte 4GL
I have a question on Forte 4GL 5.0 (UDS Server). We are exposing the service
methods developed using Forte 4GL as WSDL files.
The client for the application is JSP. We want to access the WSDL file
making a HTTP connection with the Forte 4GL server. In our client
architecture we download the WSDL file into the Java web server and use
Apache SOAP for request and response.
We are able to generate the WSDL file for the Forte 4GL services, but unable
to access the same using HTTP URL from Java.
We need to know how to access the file using HTTP i.e. The HTTP URL of the
WSDL file when accessed from a remote system.Robert is right. When you expose an SO as SOAP and generate the WSDL file for that SO, Forte does only that, generate the WSDL file. You must serve up that file from your webserver. Also if you want to communicate with the SO via the SOAP interface, Forte will also generate a Java class to handle the communicate with the SO from a Java client if you run the GenerateXMLServerJava from Fscript (for more on this read the Documentation on Integrating with External Systems pg 152 ftp://192.18.99.138/816-6306-10/816-6306-10.pdf).
-
Hello,
1) I use Forte for batch applications. But the definition of a batch may
be
different with that kind of architecture : you have events. In fact, I
think
that classic batch (long processing done by night to close the day
activity
for instance) should be different : you may work on 24 hours a day
applications.
So the batch and the TP should run at the same time. Also, if you have
application events, you can imagine to structure the jobs differently :
prepare
the work at real time and store the result in a temporary structure.
Then the
batch should be only a confirmation of the prepared job with a
management of
a degraded mode on the TP during the treatment. The "real batch" should
then
last a very short time (you can imagine 30 minutes instead of several
hours
with classical batch architectures).
2) a) It will depend on your processing and business. You should manage
a context
on your policy managers and Sharing managers and have some specific code
optimized
for massive treatment (even usefull at run time).
b) In my own case, without having optimized specifically the treatments
for massive
treatments I have an average response time of 100 ms per row. This will
depend on
the infrastructure you use also. I use Oracle 7.3 on Aix 4.2. You can
genarally
optimize significantly the response time of massive treatment by using
cursors.
c) I use my own protocol, so I can manage a application context on the
message and
be able to give some routage service such as directing an action to a
specific
method regarding the context. By separating communication protocol and
application
protocol you can also offer advanced functionnalities to users such as
performance
agents on your services and dialog trace between services. This is very
usefull for
optimisation of your partitionning.
Remarks :
- In my own case, I have observed 30% of gain of ressources by using C++
code generation
and 30% of gain on response time also.
- You need to test on large amount of rows and use a test application
that can simulate
the average charge of your system to be efficient.
- You can imagine that a batch should not be a process but an event on a
scheduler which
can spool and manage journaling.
- For Database treatment, don't forget that Forte uses Dynamic Sql to
access to databases.
So It can be more efficient to develop your own optimization for your
specific treatment
by using cursors. In most cases (not specific to Forte) it may be more
efficient to work
in two phases :
1) Preparation with temporary storage in a file.
2) Validation of all the process by writing in the Database from the
file.
This can be really more efficient to minimize the locks and update on
indexes. It can also
be very usefull if you need to manage a single transaction for all the
batch. You can then
manage easely the conflict between TP and batch (phase 2) and also be
able to manage
partial retry on the batch if problems occur.
- By developping a small scheduler on Forte you can manage some simple
functionnalities as
batch dependencies (look at Forte Sharewares for persistent queuing).
Hope this helps.
Daniel Nguyen
Freelance Forte Consultant
Kelsey Petrychyn wrote:
>
I have some questions regarding using Forte batch applications.
1) Who out there in "Forte land" uses Forte for Batch processing?
2) If you use Forte for batch processing:
a) What is the size of the job? 100 000+ rows of data processed/ Batch
job?
b) What is it's efficiency? 1hr to process 100 000 rows of data?
c) Could you please briefly describe your Architecture?
Basically, we want to know:
Is Forte a good tool to use to build a batch application? And, if so, What
are the best architectures?
Kelsey PetrychynSaskTel Forte System Administrator
ITM - Business Solns-consult Stds & Support (OTC)
Tel (306) 777 - 4906, Fax (306) 359 - 0857
Internet:[email protected]
Quality is not job 1. It is the only job!hello, alan.
at the bottom of the outbound delivery processing screen there should buttons for batch determination. highlight the line item and click on the batch split button. on the next screen you could re-determine batch determination.
since the scenario is MTO, the system will source from sales order stocks.
regards. -
R: (forte-users) ASP and Forté
Hi Kenny,
I suggest you to use XML in order to publish your Forté services.
There is a Forté Library called HTTPDC that let you start up a listener that
answer to HTTP Request.
So you will have a ASP/Forté integration via HTTP/XML
Hope this helps.
----- Original Message -----
From: BOLIVARD Kenny <BOLIVARDPREVIADE.FR>
To: <forte-userslists.xpedior.com>
Sent: Friday, February 23, 2001 8:43 AM
Subject: (forte-users) ASP and Forté
Hi everybody!
I'm a new Forté developer, so i have some question about it, speciallyone:
I want to access Forté service objects through an ASP script. To be more
precise, I want to get back some informations (like, for exemple, the
information of a customer's account) from the Forté world and to make-upthe
web page in my ASP script.
Is it possible writing an ASP script (in VisualBasic for example) witch
calls Forté service objects?
How can I do that? Maybe by using Web Enterprise's libraries, but itseems
to me that Web access service objet returns only HTLM pages.
Any suggestions and explanations would be appreciated.
Thank's in advance for your replies,
Kenny,
PREVIADE.
France.
Ps: Sorry for my bad english. ;))
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.comSorry for the mistake... I talked about the notification patner.
Daniel Nguyen a écrit:
Hi,
Use the Notication patner. You can find a sample and some explanation on
http://perso.club-internet.fr/dnguyen/
Hope this helps,
Daniel Nguyen
DARTIGUENAVE Antoine a écrit:
Bonjour,
la gestion d'un cache de données de référence dans une application TP
serveur permet le raffraichissement
du cache quand l'appli a signifié un update .
Or un batch ( appli distincte ) mettra aussi à jour ces données.
Comment signifier à l'IHM qu'une donnée a été updatée ce qui lui permettra
de rafraichir le cache à la lecture ?
merci d'avance pour toute idée sur ce sujet !
Antoine Dartiguenave
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com--
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com -
Re: (forte-users) Minimal Fusion
Thomas,
A response which may contain no answers...and may lead to more questions...
As a novice fusion user, one of the largest obstacles to using Fusion is the lack of XML API's in an application, be it a customer's in-house or vendor's software product. Corresponding to this is simply the lack of any API's in the application. As Forte (abet Sun, now iPlanet) says in their training manual 'A nontrivial task is to build new adapters for your programs if you wish to enable them to interact using XML documents over HTTP'. This is probably an understatement.
The question that come to mind is:
Does the warehouse have published API's their product?
If not, then, IMHO, you have steep hill to climb, not the least being communication, cooperation, and coordination from the warehouse vendor (another one of those 'nontrivial tasks') in trying to create the required API's
if so, then it is a matter of building an adapter, in a language that is compatible with the warehouse's API (hopefully C or some derivation of) , that contains (1) a DOM (Document Object Module) to API Translator, (2) an XML Parser (converts XML to DOM and visa-versa) , and (3) a HTTP server (again, another one of those 'nontrivial tasks').
Forte (abet Sun, now iPlanet) suggests, and I would concur (with reservations), that if you haven't done this before you should probably hire their services from the Forte Integration Services group. Their costs (admittible high) should be offset be the time it would take to develop one on your own. A side benefit is working with them, you learn the process for making other adapters in the future. If Fusion is a marketing success, then the benefits should out weigh the costs.
The Forte Integration Services group markets, or will market, a Fusion Adapter Designer, some sort of a SDK, which assists in the creation of Adapters. I do not know the availability of that product at this time.
As to your question "Is it reasonable to consider doing this project under Fusion as a
getting-feet-wet experience?" If you (or your customer) can afford the costs, and the warehouse has published API's, I would say that you gotta get-your-feet-wet somehow. If the warehouse doesn't have published API's and are not willing to put forth the effort and resources to do so, I would say your chances of success are considerably less.
In any case, IMHO, it will be a 'non trivial' undertaking.
-later
-labeaux
"Thomas Mercer-Hursh, Ph.D." <thomascintegrity.com> 10/31/00 04:49PM >>>This may be one of those questions which has no answer, but ...
Our long term plan is to develop XML APIs to each of the modules in our
suite of non-Forte applications and to integrate these under Fusion, thus
gaining Conductor management of the inter-module work flows and a cleaner
loose coupling of the applications along with other benefits such as the
ease of integration with other packages, a clean way to migrate to Forte
modules, and an ease of interconnecting "mini-applications" to address
specific customer needs.
I have an existing customer who has made a decision to migrate to a third
party warehouse from an in-house warehouse. I.e., were this transition to
the new structure complete, this would correspond to unhooking some of our
modules and replacing these with an adapter to the corresponding modules in
the third party warehouse.
In fact, as it looks now, I will need to build the logical equivalent of
these APIs anyway -- might as well do it in XML, right? And these APIs
will communicate with a daemon responsible for the message traffic to and
from. I tried to get this traffic to be XML and to use MQSeries or JMS as
the transport, but the folks at the warehouse end don't seem to be able to
handle such things, so I am stuck doing something fairly stupid for the
actual communication.
So, the question for those out there who have already paid their Fusion
dues, is it reasonable to consider doing this project under Fusion as a
getting-feet-wet experience. There are only half a dozen APIs to do and I
have to do those anyway and am inclined to make them XML regardless. There
will be one communication daemon to which all these connect and the
business processes originally implemented in Conductor will basically be
just point to point connects, except for routing traffic from the daemon to
the right API based on message type. That's really all I need it to do,
i.e., far too simple to actually need Fusion, but a possible opportunity
to get started and then to expand to other uses.
Crazy?
=========================================================================
Thomas Mercer-Hursh, Ph.D email: thomascintegrity.com
Computing Integrity, Inc. sales: 510-233-9329
550 Casey Drive - Cypress Point support: 510-233-9327
Point Richmond, CA 94801-3751 fax: 510-233-6950
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.comAt 07:55 AM 11/1/00, Labeaux Schiek wrote:
As a novice fusion user, one of the largest obstacles to using Fusion is
the lack of XML API's in an application, be it a customer's in-house or
vendor's software product.In this case, the good news is that one of the applications in question is
our own, so whipping up an XML API to suit each required transaction on
that side is no more, probably less, work than importing or exporting a
flat file or whatever. Moreover, my current expectation of how this
interaction will work is something like this:
</pre>
---Fusion------
| |
WACS<-->WACS_Daemon<----VPN socket
connection---->IS_Daemon I/S
</pre>
I.e., I/S, our application, and the IS_Daemon which handles the connection
traffic across the internet link are both mine. For I/S, I will create XML
APIs to suit. For the IS_daemon, I might use the transform facilities to
convert this XML to the pipe-delimited format they are expected at the
other end and make the daemon a simple manager of the connection or, the
daemon could do the conversion, but the former seems like the more
appropriate approach. The API between the two daemons is something we are
defining now (unfortunately I lost the argument to make that XML).
Corresponding to this is simply the lack of any API's in the
application. As Forte (abet Sun, now iPlanet) says in their training
manual 'A nontrivial task is to build new adapters for your programs if
you wish to enable them to interact using XML documents over HTTP'.My neophyte understanding is that, since I am defining the API to I/S in
the diagram above and I can make this XML, then the adapter issue
disappears there. I might have to create an adapter for the daemon, but if
necessary, I could make that the same XML on a pass through and do the
translation in the daemon.
If not, then, IMHO, you have steep hill to climb, not the least being
communication, cooperation, and coordination from the warehouse vendor
(another one of those 'nontrivial tasks') in trying to create the required
API'sWe are well through this process anyway. ... which is not to say that it
has been or will be easy, but it must be done whether I use Fusion or
not. Given that the vote has gone in favor of simple messages of
pipe-delimited records, i.e., basically flat file, the technical issues
there are minimal.
if so, then it is a matter of building an adapter, in a language that is
compatible with the warehouse's API (hopefully C or some derivation of) ,
that contains (1) a DOM (Document Object Module) to API Translator, (2)
an XML Parser (converts XML to DOM and visa-versa) , and (3) a HTTP server
(again, another one of those 'nontrivial tasks').I'm not sure I quite understand what you are saying here. The HTTP part
won't be there since we will apparently be connecting via a VPN sockets
connection. But, how are you distinguishing DOM and XML since DOM is a
particular form of XML? The XML API I build for I/S will be DOM compliant.
Forte (abet Sun, now iPlanet) suggests, and I would concur (with
reservations), that if you haven't done this before you should probably
hire their services from the Forte Integration Services group. Their
costs (admittible high) should be offset be the time it would take to
develop one on your own. A side benefit is working with them, you learn
the process for making other adapters in the future. If Fusion is a
marketing success, then the benefits should out weigh the costs.I am familiar with the "party" line. If I were building a complete
interface to another major product (I/S is roughly equivalent to JDEC in
coverage) in the context of an EAI project, I would happily invite them in
and hope to pick up pointers. Here, though, there are only 8 or 9 total
transaction types and either all of the interfaces are XML, i.e., no
adapter required as I understand it, or only the daemon will need an
adapter and that will be a choice I can make depending on how things
go. One does wish it were possible to sample a small piece of that
knowledge store without having to buy the whole thing, though.
The Forte Integration Services group markets, or will market, a Fusion
Adapter Designer, some sort of a SDK, which assists in the creation of
Adapters. I do not know the availability of that product at this time.Last I checked, one couldn't get this without the consulting ... hence the
last sentence above.
Thanks for your input.
=========================================================================
Thomas Mercer-Hursh, Ph.D email: thomascintegrity.com
Computing Integrity, Inc. sales: 510-233-9329
550 Casey Drive - Cypress Point support: 510-233-9327
Point Richmond, CA 94801-3751 fax: 510-233-6950 -
In URM, the RMA_NOTIFY_AUTHORS service is using my name in the "from"
IN URM, when the RMA_NOTIFY_AUTHOR service is activated from a disposition, all emails are listed "from" me.
I have no idea why that is or how to correct it. I opened a request with Oracle support with no success as of yet. The best they could offer was to tell me to check what email address I had for the sysadmin in my config.cfg file. that email address is totally different than mine and correlates to the system administrator. All other emails that come from the URM instance reflect the sysadmin as the "from". but for some reason any emails sent via the RMA_NOTIFY_AUTHOR service has me as the from, no matter what user causes the disposition to activate.
If anyone out there can tell me where URM decides what email address to use for all of its AUTHOR NOTIFICATION emails, I would appreciate it.
ThanksThis happens when you run the batch services yourself. If the batch services run by theirselves, at the scheduled time, the email address that is attached to the sysadmin is used in the from, otherwise, whoever runs the batch service manually has their name in the from for the notifications generated from the batch service.
-
Re: (forte-users) HTTP request through proxy server
Daniel -
No, it does not. ;)
How do you say to HTTPRequest to go through proxy?
Thanks,
Taras
Daniel Nguyen wrote:
>
Hi,
It works very well. I have experienced this model for a distant Forte client
calling a Forte Server service Object for instance without any environment
and without TCP access (passing through firewall for instance).
It has also worked very well to make an injectot to improve Web Enterprise
and IIS using the SendRequest from HTTPAccess.
Hope this helps,
Daniel Nguyen
Freelance Forte Consultant
http://perso.club-internet.fr/dnguyen/
Taras Katkov a écrit:
HTTP request through proxy server using forte HTTP library?
Any experience?
Thanks,
Taras
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com--
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.comYou can also use the HTTP-DC project.... You don't
need Web Enterprise for this. From what I can tell,
this is available in L.x on....
There is api documentation in M.2 (with scant
examples.)
There's a special process to put the project in your
repository (it isn't installed in the repository in
the standard install,) the documentation in M.2
(probably in M.0 too, AFAIK) that tells you how to do
this (look for HTTP-DC in the online help.)
I haven't done much with it yet, I've just installed
it. If anybody out there has examples, that'd be
great. I'll try to contribute more the moment I get a
chance to explore it....
Christopher Fury
BellSouth Communications Systems
--- Daniel Nguyen <dnguyenclub-internet.fr> wrote:
Hi,
If you have Web Enterprise, you can user
HttpAccess.SendRequest().
Hope this helps,
Daniel Nguyen
Freelance Forte Consultant
Amin, Kamran a écrit:
Is there any way to make a HTTP request from TOOLto another HTTP Service?
thanks in advance.
For the archives, go to:
http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. Tounsubscribe, send in a new
email the word: 'Unsubscribe' to:forte-users-requestlists.xpedior.com
For the archives, go to:
http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To
unsubscribe, send in a new
email the word: 'Unsubscribe' to:
forte-users-requestlists.xpedior.com
Kick off your party with Yahoo! Invites.
http://invites.yahoo.com/ -
Re: Native Language Support in Forte
[email protected] wrote:
I've been posed a question in the abstract about Forte's native language
support. Does Forte support any languages other than C/C++? And if so,
what are the limitations or caveats?
Native Language Support could also mean the NLS standard which Forte supports. This
provides for Internationalization (I18N) of a Forte application. This means a client
application deployed in french, german, and english (for example), could all be making
requests of the same Forte shared service and getting responses in the native language.
We provide for changing the language/character set displayed both statically before the
application starts, and dynamically change it while the application is running.
If support native language support means ability for Forte to call existing application
logic written in C/C++, then today you can "wrapper" C functions in a Forte Class,
instantiate the class and "call-out" to the member functions (your c functions) directly
from the 4GL object.
C++ functions are a challenge due to cross platform C++ compiler issues which at a
minimum include "name mangling" being non-standard for all the C++ compilers.
However, you can "export" C++ class member functions as external "C" functions so that C
code can call the function as if it was regular K&R or ANSI C.
If other language support is required, I have customers on the East Coast which have
successfully wrappered MicroFocus Cobol on HP-UX, and the ADA language. This is due to
the concept of all 3GL languages today support the concept of allowing for their
language to be called from 'C' (other possibilities are Pascal, Fortran, etc).
Here the only caveat is you need to be aware of the other language's "boot-code" may be
registering for operating system "signals" and not handling them appropriately. This
rarely is an issue these days.
If other language support means do we code generate our 4GL language to any language
other than 'C++', the answer is currently "no".
However, we do support exporting Service object definitions to environments like DCE,
CORBA, Encinca (a TP monitor), and the WWW. In our next release we will complete our
support for exporting services objects to Java. This will allow for Java applications to
call upon the power of Forte's Shared Services architecture. Using this exporting
concept, applications written in various other languages would be able to "call-in" to
the Forte shared service from the ourside world.
Didn't know what you were looking for. Hope the above hit the mark. If not, write me, or
give me a call.
Regards,
jimNot exactly sure what you are asking. Can you rephrase your question?
If your other server's locale is same as the one you configured then it should be ok. -
Forte WebEnterprise w/ ISAPI - 10055 error
Forte Users,
We have a Forte application that is web-enabled via Forte WebEnterprise and
intermittently we are receiving 10055 error when following a link. After
receiving the error you can either use the back arrow and retry the link or
just hit the refresh button and the page will download. The problem seems
to be intermittent and only seems to happen when the ISAPI Plug-in
(forteisapi.dll) is configured, we have not seen the problem when using the
CGI interface.
I contacted Forte support regarding the error but they are not able to
recreate the error either.
Any help is greatly appreciated!
Please see the following for details on my configuration and environment.
Thanks,
-----Original Message-----
From: MailAgent [mailto:[email protected]]
Sent: Wednesday, November 03, 1999 10:56 AM
To: [email protected]
Subject: Forte Virtual Call Center Case No. -- 56768
Thank you for submitting Case No. 56768. Please save this email as a record
of
your request. If you do not get a response from us within the time period
outlined in our support priority matrix, please email us at
[email protected]
and include the text of this email.
Contact Information
Case No.: 56768
Case Details
FORTE: 3.0.L.3
CONDUCTOR: Not Applicable
EXPRESS: Not Applicable
WEB: WE.1.0.D.1
Client Platform: Windows NT 4.0
Server Platform: SunOS 4.1.3
Database: Not Applicable
Netowork: sockets
Reproducible: Intermittent
Requested Priority: 2 - Medium
Subject:
socket send() to Forte HTTPAccess service object failed. errno=10055
Description:
Runtime Error:Socket Error: socket send() to Forte HTTPAccess service
object
failed. errno=10055
If I refresh or go back and try the link again it usually works.
I am using IIS and have the isapi interface enabled.
Errors:
socket send() to Forte HTTPAccess service object failed. errno=10055
End of message
Maybe you are looking for
-
Alert mail configuration for backup / Oracle database
Hello All, I am trying to configure alert mail for successful backup in the system and i have did with most of the configurations. The steps are as follows: Configured mail in 000 client and also assigned mail id for a user Configured the method CCMS
-
Open Aperture 2.1.1 library in Aperture 3
I have stored my Aperture work in an aux file and in the past, just clicked on each library to open Aperture in my Macbook. My computer needed to be reformated and I downloaded Aperture 3, but my libraries in the aus drive are not opening. Any though
-
THIS IS FOR ORACLE DEVELOPER TEAM
Hi, I encountered a problem. I need someone to identify wether it is a bug which may be some patch file available or I did something wrong. I run web enabled Form using FORM60 and Jinitiator 1.1.7. There are multiple forms involved. When a new form i
-
Saving Error in PSE8 on Windows 7 trying to make a merged panoramic
I'm trying to save a 3 photo merged panoramic shot in PSE8 on my new Windows 7 64 bit computer. Every time I try to save the final merged shot I get a "Program Error" message and it won't save. Has anyone come across this before and do you have a sol
-
Can someone help me with a drop float problem I am having in the old version of internet explorer? Please see this website: http://003a17b.netsolhost.com/kwdwebsite/index.html The green navigation bar should be lined up with the green bar in the logo