Re: (forte-users) Distributed Property
You have the answer. A class should set "Subclass Override" to TRUE (or ON)
if it wants any of its derived classes to override the behaviour.
If you want your subclass to be able set its Runtime properties
(Distributed, Shared, Transactional, Monitored), then turn ON "Subclass
override" in all the classes above in the hierarchy.
Jagadish
Tim Sawyer
<Tim.Sawyer@panc To: "'[email protected]'"
redit.com> <[email protected]>
cc:
04/17/2001 12:37 Fax to:
Subject: (forte-users) Distributed Property
Hello.
I've just created a service object, based on a new subclass. The new
subclass has distributed property set to allowed, and the other three set
to
disallowed. These are set about four layers further up the inheritance
hierarchy, and have subclass override turned off.
When I try and run my app, I get the following error:
USER ERROR: The class apiAbstractClasses.PanAPIReplicate used as the type
of
service object apiAbstractClasses.PanAPIReplicateSO has the 'Distributed'
property set to 'DISALLOWED', so it cannot be used as the type of a
service
object.
Class: qqsp_UsageException
Error #: [1602, 358]
Detected at: qqcf_GlobalDefinition::ProxyClass at 1
Last TOOL statement: method partws.HandleRunCmd
Error Time: Tue Apr 17 17:33:34
Exception occurred (locally) on partition "Forte_cl0_Client",
(partitionId
= 2DC37DB0-BD7A-11D4-A08F-220DA12BAA77:0x1ad3:0xb, taskId =
[2DC37DB0-BD7A-11D4-A08F-220DA12BAA77:0x1ad3:0xb.392]) in application
"FTLaunch_cl0", pid 318 on node TORGOS in environment 43DENV.
So I have distributed set to Allowed and the error says "Oh know you don't"
in true panto style.
Anyone like to suggest a direction I start looking in to fix this?
Cheers,
Tim Sawyer
Development Consultant
PanCredit
Leeds, UK.
This e-mail and its attachments are for the use of the addressee only.
It may contain information that is legally privileged, confidential and
exempt from disclosure. It is not a contract, and prices, data
and other information are not warranted as to completeness or accuracy.
Any comments or statements made herein do not necessarily
reflect those of PanCredit Systems Limited. If you are not the intended
recipient you must not copy, distribute or disseminate this e-mail
or attachments to anyone other than the addressee.
If you receive this communication in error please advise us by telephone
at once.
PanCredit Systems Limited
Tel: +44 113 250 0260
Fax: +44 113 250 0621
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: [email protected]
Hi Jagadish,
I'm not trying to change it, it's at "Allowed" on all of my superclasses,
and I want it to be "Allowed" on the subclass too. If I remember correctly
there's some blurb in the manual somewhere that objects are smaller and/or
quicker if you turn of the subclass override thing?
Anyway, apparently, according to other replies I've received, it's just a
forte bug, and I need to recreate the service object. I'll give it a go
when I get in to work tomorrow and come back to you all if it still doesn't
work...
Thanks everyone,
Tim Sawyer
Development Consultant
PanCredit
Leeds, UK.
-----Original Message-----
From: [email protected]
To: Tim Sawyer
Cc: '[email protected]'
Sent: 17/04/01 18:39
Subject: Re: (forte-users) Distributed Property
You have the answer. A class should set "Subclass Override" to TRUE (or
ON)
if it wants any of its derived classes to override the behaviour.
If you want your subclass to be able set its Runtime properties
(Distributed, Shared, Transactional, Monitored), then turn ON "Subclass
override" in all the classes above in the hierarchy.
Jagadish
This e-mail and its attachments are for the use of the addressee only.
It may contain information that is legally privileged, confidential and
exempt from disclosure. It is not a contract, and prices, data
and other information are not warranted as to completeness or accuracy.
Any comments or statements made herein do not necessarily
reflect those of PanCredit Systems Limited. If you are not the intended
recipient you must not copy, distribute or disseminate this e-mail
or attachments to anyone other than the addressee.
If you receive this communication in error please advise us by telephone
at once.
PanCredit Systems Limited
Tel: +44 113 250 0260
Fax: +44 113 250 0621
Similar Messages
-
RE: (forte-users) Distributing library - What could preventmy li b fro
Hi Jean..
I remotely remember seeing this kind of a problem before. I think you can
start by cleaning your environment. You can do this by:
1) Exporting your environment definition from econsole or using escript. The
.edf file goes into the forte_root\envdist directory
2) bringing down the environment.
3) removing the .btd and.btx files of the environment in
forte_root\sysdata\envrepos
4) start the environment using bootstrap i.e using the -e option.
Hope that solves it for you..
Ravi Kalidindi
Born Info Svcs Inc
-----Original Message-----
From: Jean-Paul Gabrielli [mailto:[email protected]]
Sent: Wednesday, September 01, 1999 9:04 AM
To: '00 Forte Mailinglist'
Subject: (forte-users) Distributing library - What could prevent my lib
from being made ?
(8) CMD: SetProjType 3
(9) CMD: Partition 3
USER ERROR: The project MYPROJ is already contained in version of
application and cannot be placed into another library application.
Class: qqsp_UsageException
Error #: [1602, 562]
Detected at: qqcf_LibraryConfig::SetProject at 1
Error Time: Wed Sep 1 15:30:25
Exception occurred (locally) on partition "Fscript_cl9_Client",
(partitionId = 4C0B7D30-6055-11D3-B8B3-2E3EAC99AA77:0x126:0x1, taskId
=
[4C0B7D30-6055-11D3-B8B3-2E3EAC99AA77:0x126:0x1.1]) in application
"fscript", pid 18036 on node mynode in environment myenv.
Thanks for any suggestion
j-paul
[Jean-Paul Gabrielli]
NOTE: If you got this twice, sorry but I got a strange mail saying i was not
a subscriber and reposted.
For the archives, go to: http://lists.sageit.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: [email protected]Hi,
I'm from germany so no 'best buy' but I think I will lock around sleeve/bag for a different product with same measures. Any tip?
The clear plastic case is not what I want. I would like to use the player without such protections. I just want a sleeve to protect the player while its in my jacket/pants.
Btw, i have bought this version: Creative Zen (maybe european version?). I also doesn't seem to have your mentioned sleeve. I also couldn't find it on the website.
Anyway, thank you,
Chris -
RE: (forte-users) Conductor Distributed AccessException
Man! you need some Gas. Top it up and give it a go :)
-----Original Message-----
From: mmynatt [mailto:mmynattcomponentsartistry.com]
Sent: Wednesday, 29 March 2000 10:19 am
To: Forte-Users-Digest
Subject: (forte-users) Conductor Distributed Access Exception
Hi,
Has anyone ever seen this error message in the conductor trace window on
starting an engine:
Channel.Open() Distributed Access exception on initiator channel "Ping" from
initiator component dbserv1(db unit) to component DB router primary caused
the channel to be disconnected.
The engine will not start.
Mark Mynatt
Components Artistry, Inc.
303-688-0784
mmynattcomponentsartistry.com <mailto:mmynattcomponentsartistry.com>Hi Jagadish,
I'm not trying to change it, it's at "Allowed" on all of my superclasses,
and I want it to be "Allowed" on the subclass too. If I remember correctly
there's some blurb in the manual somewhere that objects are smaller and/or
quicker if you turn of the subclass override thing?
Anyway, apparently, according to other replies I've received, it's just a
forte bug, and I need to recreate the service object. I'll give it a go
when I get in to work tomorrow and come back to you all if it still doesn't
work...
Thanks everyone,
Tim Sawyer
Development Consultant
PanCredit
Leeds, UK.
-----Original Message-----
From: [email protected]
To: Tim Sawyer
Cc: '[email protected]'
Sent: 17/04/01 18:39
Subject: Re: (forte-users) Distributed Property
You have the answer. A class should set "Subclass Override" to TRUE (or
ON)
if it wants any of its derived classes to override the behaviour.
If you want your subclass to be able set its Runtime properties
(Distributed, Shared, Transactional, Monitored), then turn ON "Subclass
override" in all the classes above in the hierarchy.
Jagadish
This e-mail and its attachments are for the use of the addressee only.
It may contain information that is legally privileged, confidential and
exempt from disclosure. It is not a contract, and prices, data
and other information are not warranted as to completeness or accuracy.
Any comments or statements made herein do not necessarily
reflect those of PanCredit Systems Limited. If you are not the intended
recipient you must not copy, distribute or disseminate this e-mail
or attachments to anyone other than the addressee.
If you receive this communication in error please advise us by telephone
at once.
PanCredit Systems Limited
Tel: +44 113 250 0260
Fax: +44 113 250 0621 -
Hello.
I've just created a service object, based on a new subclass. The new
subclass has distributed property set to allowed, and the other three set to
disallowed. These are set about four layers further up the inheritance
hierarchy, and have subclass override turned off.
When I try and run my app, I get the following error:
USER ERROR: The class apiAbstractClasses.PanAPIReplicate used as the type of
service object apiAbstractClasses.PanAPIReplicateSO has the 'Distributed'
property set to 'DISALLOWED', so it cannot be used as the type of a
service
object.
Class: qqsp_UsageException
Error #: [1602, 358]
Detected at: qqcf_GlobalDefinition::ProxyClass at 1
Last TOOL statement: method partws.HandleRunCmd
Error Time: Tue Apr 17 17:33:34
Exception occurred (locally) on partition "Forte_cl0_Client",
(partitionId
= 2DC37DB0-BD7A-11D4-A08F-220DA12BAA77:0x1ad3:0xb, taskId =
[2DC37DB0-BD7A-11D4-A08F-220DA12BAA77:0x1ad3:0xb.392]) in application
"FTLaunch_cl0", pid 318 on node TORGOS in environment 43DENV.
So I have distributed set to Allowed and the error says "Oh know you don't"
in true panto style.
Anyone like to suggest a direction I start looking in to fix this?
Cheers,
Tim Sawyer
Development Consultant
PanCredit
Leeds, UK.
This e-mail and its attachments are for the use of the addressee only.
It may contain information that is legally privileged, confidential and
exempt from disclosure. It is not a contract, and prices, data
and other information are not warranted as to completeness or accuracy.
Any comments or statements made herein do not necessarily
reflect those of PanCredit Systems Limited. If you are not the intended
recipient you must not copy, distribute or disseminate this e-mail
or attachments to anyone other than the addressee.
If you receive this communication in error please advise us by telephone
at once.
PanCredit Systems Limited
Tel: +44 113 250 0260
Fax: +44 113 250 0621Hi Jagadish,
I'm not trying to change it, it's at "Allowed" on all of my superclasses,
and I want it to be "Allowed" on the subclass too. If I remember correctly
there's some blurb in the manual somewhere that objects are smaller and/or
quicker if you turn of the subclass override thing?
Anyway, apparently, according to other replies I've received, it's just a
forte bug, and I need to recreate the service object. I'll give it a go
when I get in to work tomorrow and come back to you all if it still doesn't
work...
Thanks everyone,
Tim Sawyer
Development Consultant
PanCredit
Leeds, UK.
-----Original Message-----
From: [email protected]
To: Tim Sawyer
Cc: '[email protected]'
Sent: 17/04/01 18:39
Subject: Re: (forte-users) Distributed Property
You have the answer. A class should set "Subclass Override" to TRUE (or
ON)
if it wants any of its derived classes to override the behaviour.
If you want your subclass to be able set its Runtime properties
(Distributed, Shared, Transactional, Monitored), then turn ON "Subclass
override" in all the classes above in the hierarchy.
Jagadish
This e-mail and its attachments are for the use of the addressee only.
It may contain information that is legally privileged, confidential and
exempt from disclosure. It is not a contract, and prices, data
and other information are not warranted as to completeness or accuracy.
Any comments or statements made herein do not necessarily
reflect those of PanCredit Systems Limited. If you are not the intended
recipient you must not copy, distribute or disseminate this e-mail
or attachments to anyone other than the addressee.
If you receive this communication in error please advise us by telephone
at once.
PanCredit Systems Limited
Tel: +44 113 250 0260
Fax: +44 113 250 0621 -
RE: (forte-users) Confusion with return event
Samer,
The return event is delivered to the calling task, which is the window in
your first test. It is not deliverd to the event loop of the service object
unless the call to the processor originated in the event loop, which is the
case in your second test. The output you get from the server is exactly as I
would expect.
You need the following code in you client:
event loop
postregister
SomeService1.StartImmediate();
when SomeService1.Proc.ProcessEvent_return do
task.Part.Logmgr.Putline('ProcessEvents_return');
when SomeService1.Proc.ProcessEvent_exception do
task.Part.Logmgr.Putline('ProcessEvents_exception');
end event;
Note that this logoutput will not be written to a logfile, but will appear
in the logwindow which is opened when you start a client application.
Pascal Rottier
Atos Origin Nederland (BAS/West End User Computing)
Tel. +31 (0)10-2661223
Fax. +31 (0)10-2661199
E-mail: Pascal.Rottiernl.origin-it.com
++++++++++++++++++++++++++++
Philip Morris (Afd. MIS)
Tel. +31 (0)164-295149
Fax. +31 (0)164-294444
E-mail: Rottier.Pascalpmintl.ch
-----Original Message-----
From: Samer Kanjo [mailto:skanjoyahoo.com]
Sent: Thursday, January 18, 2001 1:54 AM
To: ForteUsers
Subject: (forte-users) Confusion with return event
I have observed some odd behavior when attempting to
catch a return event for a method invoked using start
task. I provided the primary classes I used during my
test and some output produced by those classes at the
bottom of this message.
The SomeService1 class is used to create an
environment visible service object and the Processor
class is one of its members. The Processor class
starts processing when one of two things happens: the
SomeService1 timer ticks off 10 seconds or when
SomeService1.StartImmediate is called directly by
another entity. Either way StartImmediate is called to
start processing.
The provided output is the result of starting a test
application and invoking StartImmediate from another
object (I used a window) and then observing what
happens when the timer ticks. As you can see the
invocation from the window did not result in the
return event being received. However, the return event
was received when the timer ticked.
According to the Forte documentation a return event
will only be posted to the parent task's event queue.
Since I am making a cross partition call, the window
and service object are not really in the same task
(Unless my assumption is wrong). That would explain
why the window did not cause a return event to be
generated but was an event generated but not caught
and if so where did the event go?
In SomeService2 class I added an event StartProcessing
and moved the code from StartImmediate to the
StartProcessing event case in the event loop and
simply posted the StartProcessing event in
StartImmediate. I performed the same test I used when
testing SomeService1. The Traceback output is
identical for the window invocation but the return
event is received this time! Why?
It seems that to guarantee the receipt of a return
event an asynchronous task must be initiated from
within an event loop. Is this correct?
I do not understand this behavior does someone have
any thoughts on this? How can you guarantee the
receipt of a return event?
Samer Kanjo
OUTPUT FROM SOMESERVICE1
StartTaskTest_cl0: processing loop listening
StartTaskTest_cl0:
Traceback:
SomeService.StartImmediate at line 1
TestWin.Display at line 4
C++ Method(s)
UserApp.Run at offset 105
StartTaskTest_cl0:
StartTaskTest_cl0: Start processing...
StartTaskTest_cl0: Processing complete.
StartTaskTest_cl0:
Traceback:
SomeService.StartImmediate at line 1
SomeService.ProcessingLoop at line 9
StartTaskTest_cl0:
StartTaskTest_cl0: Start processing...
StartTaskTest_cl0: Processing complete.
StartTaskTest_cl0: ProcessEvents_return
OUTPUT FROM SOMESERVICE2
StartTaskTest_cl0: processing loop listening
StartTaskTest_cl0:
Traceback:
SomeService2.StartImmediate at line 1
TestWin.Display at line 4
C++ Method(s)
UserApp.Run at offset 105
StartTaskTest_cl0:
StartTaskTest_cl0: Start processing...
StartTaskTest_cl0: Processing complete.
StartTaskTest_cl0: ProcessEvents_return
StartTaskTest_cl0:
Traceback:
SomeService2.StartImmediate at line 1
SomeService2.ProcessingLoop at line 9
StartTaskTest_cl0:
StartTaskTest_cl0: Start processing...
StartTaskTest_cl0: Processing complete.
StartTaskTest_cl0: ProcessEvents_return
SOMESERVICE1 CLASS
begin CLASS;
class SomeService1 inherits from Framework.Object
has public attribute proc: StartTaskTest.Processor;
has public attribute processing: Framework.boolean;
has public method Init;
has public method ProcessingLoop;
has public method StartImmediate;
has property
shared=(allow=off, override=on);
transactional=(allow=off, override=on);
monitored=(allow=off, override=on);
distributed=(allow=on, override=on, default=off);
end class;
method SomeService1.Init
begin
super.Init();
processing = FALSE;
proc = new;
start task ProcessingLoop();
end method;
method SomeService1.ProcessingLoop
begin
timer : Timer = new;
timer.tickInterval = 10000;
event loop
task.part.logmgr.putline('processing loop
listening');
timer.isActive = TRUE;
when timer.tick do
StartImmediate();
when proc.ProcessEvents_return do
task.part.logmgr.putline('ProcessEvents_return');
processing = FALSE;
when proc.ProcessEvents_exception do
task.part.logmgr.putline('ProcessEvents_exception');
processing = FALSE;
when task.shutdown do
exit;
end event;
end method;
method SomeService1.StartImmediate
begin
task.part.logmgr.putline(task.traceBack());
processing = TRUE;
start task proc.ProcessEvents() where completion =
event;
end method;
end CLASS;
SOMESERVICE2 CLASS
begin CLASS;
class SomeService2 inherits from Framework.Object
has public attribute proc: StartTaskTest.Processor;
has public attribute processing: Framework.boolean;
has public event StartProcessing;
has public method Init;
has public method ProcessingLoop;
has public method StartImmediate;
has property
shared=(allow=off, override=on);
transactional=(allow=off, override=on);
monitored=(allow=off, override=on);
distributed=(allow=on, override=on, default=off);
end class;
method SomeService2.Init
begin
super.Init();
processing = FALSE;
proc = new;
start task ProcessingLoop();
end method;
method SomeService2.ProcessingLoop
begin
timer : Timer = new;
timer.tickInterval = 10000;
event loop
task.part.logmgr.putline('processing loop
listening');
timer.isActive = TRUE;
when timer.tick do
StartImmediate();
when self.StartProcessing do
processing = TRUE;
start task proc.ProcessEvents() where completion =
event;
when proc.ProcessEvents_return do
task.part.logmgr.putline('ProcessEvents_return');
processing = FALSE;
when proc.ProcessEvents_exception do
task.part.logmgr.putline('ProcessEvents_exception');
processing = FALSE;
when task.shutdown do
exit;
end event;
end method;
method SomeService2.StartImmediate
begin
task.part.logmgr.putline(task.traceBack());
post StartProcessing;
end method;
end CLASS;
PROCESSOR CLASS
begin CLASS;
class Processor inherits from Framework.Object
has public method Init;
has public method ProcessEvents where completion =
(return = ProcessEvents_return, exception =
ProcessEvents_exception);
has property
shared=(allow=off, override=on);
transactional=(allow=off, override=on);
monitored=(allow=off, override=on);
distributed=(allow=off, override=on);
end class;
method Processor.Init
begin
super.Init();
end method;
method Processor.ProcessEvents
begin
task.part.logmgr.putline('Start processing...');
task.Delay(msecs = 1500);
task.part.logmgr.putline('Processing complete.');
end method;
end CLASS;
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.comYes, you're right. The return event is queued until the moment that you
actually enter an eventloop. I stand corrected.
Pascal Rottier
Atos Origin Nederland (BAS/West End User Computing)
Tel. +31 (0)10-2661223
Fax. +31 (0)10-2661199
E-mail: Pascal.Rottiernl.origin-it.com
++++++++++++++++++++++++++++
Philip Morris (Afd. MIS)
Tel. +31 (0)164-295149
Fax. +31 (0)164-294444
E-mail: Rottier.Pascalpmintl.ch
-----Original Message-----
From: Adamek, Zenon [mailto:ZAdamekpurolator.com]
Sent: Thursday, January 18, 2001 6:13 PM
To: Rottier, Pascal
Cc: 'forte-userslists.xpedior.com'
Subject: RE: (forte-users) Confusion with return event
I think it is always safe to use start task with where complition = event
clause before event loop. The reason is described in Forte Help in the
Complition Clause index:
"Requesting the return and exception events automatically registers the
events for the calling task. When the asynchronous method completes or
terminates, Forté adds the appropriate event to the calling task's event
queue.
This registration is unlike the event registration for the event statement.
In the event statement, the event is registered just before the event
statement is ready to process the event. In the start task statement, the
return and exception events are registered when the task is started, even
though it can be much later on that your application is prepared to wait for
those events. Therefore, only the "parent" task that executes the start task
statement is registered for the completion event of the started task."
and some comments from "Forte Performance and Patterns" page 18:
"When you use the where completion = event clause in the start task
statement, Forte automatically buffer the return event until you register
for it. Therefore, you do not need to worry about the child task completing
before you register for its return event".
Regards,
Zenon
-----Original Message-----
From: Rottier, Pascal [SMTP:Rottier.Pascalpmintl.ch]
Sent: Thursday, January 18, 2001 11:16 AM
To: 'Samer Kanjo'; ForteUsers
Subject: RE: (forte-users) Confusion with return event
Yes, if you want the eventloop of the service object to be informed when
the
method on the processor class is invoked, regardless of who invoked it,
then
you should simply post an event as the last statement inside the method on
the processor class.
The return events are only used to inform a partent task that a child-task
has completed. So, only the calling task receives the event, only if the
calling task is inside an event-loop at the moment the child-task
terminates
and only if there really is a child task (method started using "start task
Note, that the calling task doesn't have to be inside an event loop when
the
asynchronous call is made. It has to be inside an eventloop when the
asynchronous task terminates. The following piece of code works just as
well:
SomeService1.StartImmediate();
self.DoSomeOtherStuff();
event loop
when SomeService1.Proc.ProcessEvent_return do
task.Part.Logmgr.Putline('ProcessEvents_return');
when SomeService1.Proc.ProcessEvent_exception do
task.Part.Logmgr.Putline('ProcessEvents_exception');
end event;
However, if the asynchronous task started from within "StartImmediate"
finishes before the client gets a chance to enter its event loop, then
you're too late to catch the event. That's why it's safer to use the
"postregister" function, which makes sure a certain action is not started
untill all events from the event loop have been registered.
Pascal Rottier
Atos Origin Nederland (BAS/West End User Computing)
Tel. +31 (0)10-2661223
Fax. +31 (0)10-2661199
E-mail: Pascal.Rottiernl.origin-it.com
++++++++++++++++++++++++++++
Philip Morris (Afd. MIS)
Tel. +31 (0)164-295149
Fax. +31 (0)164-294444
E-mail: Rottier.Pascalpmintl.ch
-----Original Message-----
From: Samer Kanjo [mailto:skanjoyahoo.com]
Sent: Thursday, January 18, 2001 5:04 PM
To: ForteUsers
Subject: RE: (forte-users) Confusion with return event
Pascal,
So you are confirming that a return event can only be
received in an event loop if a task is started from
within that event loop.
After making your proposed changes I was able to
receive the return event in the window.
I originally wanted the SomeService event loop to
always receive the return event regardless of whether
or not StartImmediate is called by some other entity
or called when the timer ticks. It seems that the only
way to do this is with events. Is that correct?
Thank you for insight,
Samer Kanjo
--- "Rottier, Pascal" <Rottier.Pascalpmintl.ch>
wrote:
Samer,
The return event is delivered to the calling task,
which is the window in
your first test. It is not deliverd to the event
loop of the service object
unless the call to the processor originated in the
event loop, which is the
case in your second test. The output you get from
the server is exactly as I
would expect.
You need the following code in you client:
event loop
postregister
SomeService1.StartImmediate();
when SomeService1.Proc.ProcessEvent_return do
task.Part.Logmgr.Putline('ProcessEvents_return');
when SomeService1.Proc.ProcessEvent_exception do
task.Part.Logmgr.Putline('ProcessEvents_exception');
end event;
Note that this logoutput will not be written to a
logfile, but will appear
in the logwindow which is opened when you start a
client application.
Pascal Rottier
Atos Origin Nederland (BAS/West End User Computing)
Tel. +31 (0)10-2661223
Fax. +31 (0)10-2661199
E-mail: Pascal.Rottiernl.origin-it.com
++++++++++++++++++++++++++++
Philip Morris (Afd. MIS)
Tel. +31 (0)164-295149
Fax. +31 (0)164-294444
E-mail: Rottier.Pascalpmintl.ch--
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) Reporting tools/components for ForteApplications?
Hi Robert,
A good place to start when it comes to reporting is Forte Consulting. They
have developed a tool called ReportKit, which is ActiveX integration with
Seagate Software's Crystal Reports tool. Crystal is not really a three-tier
tool (although, your Forte Consultant can probably set it up to mimic a
three-tier tool), but it is a quick, easy way to get quality reports from
your existing Forte applications. If you're interested, give your Forte
Sales Rep (or, better still, your Forte Regional Consulting Director) a
call. They can discuss pricing and scheduling. I've done several
integration projects with Crystal, and I highly recommend ReportKit for
small- to medium-sized reporting requirements. As for costs, I don't recall
how much CrystalReports runs, but I think there are developer licenses and
runtime licenses.
FYI, the actual integration of ReportKit is pretty quick. The more
time-consuming piece of any report tool integration is the design and
implementation of the reports to be used.
I hope this helps.
-Katie
Katie Tierney
Quality Management Analyst
Akili Systems Group
601 Jefferson, Suite 3975
Houston, Texas 77002
Office: (713) 655-1400
Cell: (409) 255-1643
"The bitterness of poor quality remains long after the sweetness of low
price is forgotten" --Larry Anderson
-----Original Message-----
From: Robert Brooke-N502365 [mailto:Robert.Brookeca.michelin.com]
Sent: Monday, February 14, 2000 8:17 AM
To: kamranaminyahoo.com
Subject: (forte-users) Reporting tools/components for Forte
Applications?
Hi all,
We are looking for what is currently in the marketplace to enhance the
reporting
capabilities of Forte. Ideally, we are looking for component libraries that
we
could import into our repository. Do these exist?
Currently, I have found six reporting tools that are out there. The
tools
are Actuate, Crystal Reports, Report Workshop from Indus Consultancy
Services, Brio Technologies (SQR) VisualBRIO, Visual CyberQuery from
Cyberscience Corp., and Beacon from Brahma Software Solutions FORTify
Components. Are there any others for Forte?
If anyone is currently using one of these Reporting Tools for Forte or
any
others, could you give me any indications as to the costs, training, type
of
application using the Reporting tool, would you recommend using the
product
again, does it use wrappering or API, or is it a component based tool, and
any
other relevant information on the product?
Thanks,
Robert Brooke
Application Developer
Michelin North America (Canada) Inc. CA0/CA1
PO Box 399
New Glasgow, Nova Scotia
B2H-3E6
Phone: (902) 753-1977
Fax: (902) 396-2180
Note: We are currently developing in Forte 3.0.L.2. However, we would
like
to select a reporting tool/component within the next month. We are in the
initial phases of our next project, an application to be developed
in-house.
Probably will have two databases, one for real-time data and another one
for
archived data. Probably will need reporting functionality and capabilities
for
both real-time data and archived data.
This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. If you have received this email in error please notify
the system manager.
This footnote also confirms that this email message has been swept by
MIMEsweeper for the presence of computer viruses.
The E-Mail System is to be used for business purposes only.
www.mimesweeper.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.comAt 09:33 AM 4/20/01, Rottier, Pascal wrote:
Forte 4GL is:
1) A language, TOOL (Compare to Java)
2) An IDE (Compare to e.g. JBuilder or FJCE)
3) A collaborative development environment, with central repository (Compare
to ????)
4) A distributed application server / object request broker (Compare to J2EE
servers and/or CORBA)Let's not forget WebEnterprise, Express, and especially Fusion.
I think, SUN is not al all interested in TOOL.If TOOL were just a language and had no market yet, you are probably
right. But, not only is TOOL the key to the Forte environment, but it has
an existing and profitable market. Sun still sells FORTRAN, after all, and
continues to put money into ADE development for all its language
products. The real kicker, though, is that I think iPlanet is very clear
that Fusion, now iIS, is a very key product for them. There may be those
who wish it were written in Java and who might lobby for doing a Java
version, but it was clear at the conference that the iPlanet management
recognize that Java just isn't up to the task at this point. It isn't as
if all the iPlanet tools are actually written in Java, after all.
They will only support them for as long as they need.Or, more likely, for as long as they make money.
Now, in response to Microsofts .NET stratagy. We have yet to see how
succesfull this will be, but I expect Microsoft to push this down the
throats of developers and companies quite succesfully.Like they did DCOM?
=========================================================================
Thomas Mercer-Hursh, Ph.D email: [email protected]
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 -
Re: (forte-users) Delays in data transfer..server-to-client
I would try using DOM (distributed object manager) traces. trc:do:20 will
give you information on each messages sent from and received by the
partition. Levels are 1, 2, 5, 7, and 8, and trc:do:*:8 is very
verbose. trc:do:20:1 may tell you what you want to know. trc:do:1:1 will
give you a basic 1-line-per DOM event trace that may also be all you need.
Communications manager traces will tell you about network and socket-level
activity, but not about the sizes of the messages themselves. In addition,
the operating system makes decisions about physical packet size and
send/receive timing, so CM activities only generally map to actual network
activity.
-tdc
iPlanet Integration Server Engineering
At 09:24 AM 5/1/01 -0700, you wrote:
All,
We are experiencing delays in object transfer between server and client. The
delays are longer with large objects (a single object with an array of objects
that reflect the rows returned in a database) than small (ie: 10 rows vs 400).
Does anyone have any (actual) experience using the various Forte' flags in
order
to show the actual size of the object/packets being passed between the server
and client?
We are using input/output between client and server, input on all the SO's
within a partition. Response on the server side is good, roughly 6 seconds or
so. The round trip fare however from the time the client makes the SO call to
the time that it completes is in the 25-30 second range, leaving roughly 20-25
seconds unaccounted for. I have brought in the network guys who are
requesting
the data size and packet information. I did not see what I am looking for
using
the trc:cm:*:4 and trc:cm:*:8 flags. I will be trying the trc:cm:*:10
flag, but
Forte' indicates that this flag is very verbose, the systems group hates
it when
I use up all of THEIR disk space!
Any ideas would be appreciated as always.Jeff,
If the object you are passing does not require changes made to it in the
server partition to be returned, pass the object as copy input (pass by
value not reference). If it is necessary to pass the object as input, try
to pass only the attributes that are required to the remote partition
instead of the whole object.
Input/Output is normaly used with scalar variables. When a scalar is passed
to a remote partition, if the value is changed in that partition, the value
is not returned to the calling partition unless Input/Output is used.
Input/Output should not be used for object type parameters, if you need to
pass a reference, use Input only. If you can pass by value, use Copy Input.
You will notice a huge difference in performance changing from Input to Copy
input when passing large objects.
Hope this helps,
Travis Foote
Fortedeveloper.com Inc.
----- Original Message -----
From: "Jeff Bennett" <[email protected]>
To: <[email protected]>
Sent: Tuesday, May 01, 2001 9:24 AM
Subject: (forte-users) Delays in data transfer.. server-to-client
>
All,
We are experiencing delays in object transfer between server and client.The
delays are longer with large objects (a single object with an array ofobjects
that reflect the rows returned in a database) than small (ie: 10 rows vs400).
>
Does anyone have any (actual) experience using the various Forte' flags inorder
to show the actual size of the object/packets being passed between theserver
and client?
We are using input/output between client and server, input on all the SO's
within a partition. Response on the server side is good, roughly 6seconds or
so. The round trip fare however from the time the client makes the SOcall to
the time that it completes is in the 25-30 second range, leaving roughly20-25
seconds unaccounted for. I have brought in the network guys who arerequesting
the data size and packet information. I did not see what I am looking forusing
the trc:cm:*:4 and trc:cm:*:8 flags. I will be trying the trc:cm:*:10flag, but
Forte' indicates that this flag is very verbose, the systems group hatesit when
I use up all of THEIR disk space!
Any ideas would be appreciated as always.
-jeff
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: [email protected] -
RE: (forte-users) user name
Troy Burns wrote:
It would definitely be of interest to me, since this is an item on my
"to-do" list. If you can release the code, let me know.Here 'tiz.
The files you're getting are:
SFVosC.pex - "C" wrapper.
Vos.C - The "C" callout.
Vos.H - A header file for Vos.C, used by ...
VosCLI.C - A command-line-driven mainline to test Vos.C
VosObj.CEX - An object that provides a "nice" interface to the "C" wrapper.
We use this in two ways: instantiated as a local object to get the username
under VMS or NT, or as a service object partitioned to an NT server to do
username/password authentication on behalf of clients on other operating
systems.
The following changes have been made throughout the files in an attempt to
keep various people in DuPont happy:
"our_application_root" replaces the actual name of the root directory of
the application.
"our_vms_server" replaces the actual name of the system in question.
"our_nt_server" replaces the actual name of the system in question.
"our_application_name" replaces the actual name of the application.
A copyright notice, the usual disclaimer, and a "fair use" statement (which
is just a reference to the Perl Artistic License) have been inserted.
Except for the "ExternalObjectFiles" declaration in SFVosC.pex, all the
changes appear to have been in comments. But the files come with the usual
freeware warranty (i.e. "use at your own risk".)
Have fun with these!
Tom Wyant
(See attached file: SFvosC.pex)(See attached file: Vos.c)(See attached
file: Vos.h)(See attached file: Voscli.c)(See attached file: VosObj.cex)I would try going to the "lowest common denominator" between WindowsNT and
Windows95 - DOS. Both windowing OS's sort of have their roots in DOS, or at
least both are capable of opening a DOS session.
Therefore, from a DOS prompt type "set" to view the environment variables for
both OS types. Look for a common variable between the two that stores the
userID. If you can find one of these your application will be that much more
portable between these two Windows mutations.
I used "set" on my NT and found my userID assigned to a few variables. I haven't
done this on a Windows95 machine in quite some time, but if the machine is on
the network it should have at least one environment variable with the userID.
I'm just guessing that DOS has a variable to store the userID that will be
common to both machines.
Good luck....
Kelsey PetrychynSaskTel Technical Analyst
ITM - Technology Solutions - Distributed Computing
Tel (306) 777 - 4906, Fax (306) 359 - 0857
Internet:kelsey.petrychynSasktel.sk.ca
Quality is not job 1. It is the only job!
"Olivier Andrieux" <oandrieuxaxialog.fr> on 07/19/2000 09:12:41 AM
To: forte-userslists.xpedior.com
cc: (bcc: Kelsey Petrychyn/SaskTel/CA)
Subject: (forte-users) user name
Hi
I use this command to catch the username:
task.part.operatingsystem.getenv('username')
with NT, there is no problem
but with windows95 or 98 the command doesn't find the username.
Thanks in advance.
Olivier Andrieux
Axialog
Lille
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) FW: (forte-users)
Hi there
Thanks very much for the solution - just wanted to let you know . We
implemented the design that technote 11378 suggested .
It worked .
Thanks very much
Cheers
Jen
-----Original Message-----
From: Adamek, Zenon [mailto:ZAdamekpurolator.com]
Sent: Tuesday, 20 March, 2001 9:21 PM
To: 'forte-userslists.xpedior.com'
Subject: (forte-users) FW: (forte-users)
Hi David,
The problem is that the SO uses an attribute of its class ACBAccount as
the ObjectReference pointer. SO is not a stateless object. The possible
scenario before crash can be that client A and B calls SO at the same
time. A's thread creates ACBAccount gets the ObjectReference. At this
point B's thread is activated, does the same as A creates new
ObjectReference. Probably the next switch between A and B will be in the
Connect() (B should wait for OLE server). If A is reactivated it doesn't
get the original own reference but the B's reference. It can cause the
crash and means that a thread can use reference created in some other
thread.
Regards,
Zenon
-----Original Message-----
From: David McPaul [SMTP:dmcpaullumley.com.au]
Sent: Monday, March 19, 2001 11:52 PM
To: 'forte-userslists.xpedior.com'
Subject: RE: (forte-users)
Jenni,
As Zenon has pointed out, technote 11378 talks about problems that
can occur if the calls made to an OLE object are not from within the same
thread the OLE object was created in. It goes on to show a design to
avoid
this.
However, the code you have given DOES communicate to the OLE object
in the same thread as it was created. So the problem as I see it is more
likely to be that the OLE object is not being garbage collected. Although
you do explicitly NIL out the ACBAccount object there is a technote 12453
that deals with the need to set the ObjectReference of CDispatch objects
to
NIL to allow the OLE object to be completely reclaimed by the garbage
collector. Failure to do so when using code that creates a new OLE object
every time you ask for an account validation will eventually run the
partition out of memory.
As pointed out in a previous post you can also increase
FORTE_STACK_SIZE but this will delay the problem not correct it.
Rather than create the connection each time you may want to think
about redesigning the method as shown in tech note 11378.
Cheers
David
-----Original Message-----
From: Adamek, Zenon [mailto:ZAdamekpurolator.com]
Sent: Tuesday, March 20, 2001 5:05 AM
To: 'Els, Jenni'
Cc: 'forte-userslists.xpedior.com'
Subject: RE: (forte-users)
Hi Jenni,
The most important issue by designing an OLE connection between a Forte
server partition and an OLE component is taking into account that an OLE
object can be referenced from the NT thread in Forte partition that it was
created in. It is the reason that you have no problems with your mini-app
in
single-threaded version.
This problem is discussed in the Technote 11378. You can find a workaround
for your problem there, too.
Regards,
Zenon
-----Original Message-----
From: Els, Jenni [SMTP:JElsnbs.co.za]
Sent: Monday, March 19, 2001 2:28 AM
To: 'forte-userslists.xpedior.com'
Subject: (forte-users)
Hi there
We have this situation
We are calling a Service Object (in the server partition) from ourclient
partition.This service object calls a method which calls a DLLregistered
on our server (VB code) . This VB code access a database on anotherserver
.(DSN set up on our server ).The database is sql server .
We are having the problem where for about 3 hours in the morning , the
system works perfectly. We then get a segmentation violation on this
partition . When we run interpreted we can see that this is an OLEinvoked
exception. The partition does not always show as offline in econsole
and
because it does not , we cannot 'online' another . We cannot take the
entire app down as everything hangs . Eventually our technical depthas
to
down the server
We set up a mini-app looping through and calling the DLL to simulate
the
problem . It worked fine. When we put another asynchronous task in the
method to call the service object , it erred quite soon. We thencreate
an
attribute of type mutex and locked using that. The mini-app worked.
However our app in development eventually hanged (without the
partition
coming though) .
The service Object is an environment visible service object in asingle
(non-replicated partition) . It has a dialog duration = session .
In the project is
ACB : ACBObject
ACBObject : CDispatch (shared = disallowed , distributed =
disallowed, transactional = disallowed, monitored = allowed)
ACBValidator : Object (shared = allowed , distributed =allowed,
transactional = disallowed, monitored = disallowed)
ACBVaidatorSO : ACBValidator
In this method we have this code to call the DLL
self.ACBAccount = new;
self.ACBAccount.CreateUsingCLSID(classID='{2EFD3084-7B05-11D3-857F-00105A4
8CEA0}');
pErrorMessage = new;
acbaccount.BankCode = pBankCode.value;
acbaccount.BranchCode = pBranchCode.value;
at : VariantI2 = new;
at.Value = pAccountType.Value;
acbaccount.AccountType = at.Value;
acbaccount.AccountNo = pAccountNo.value;
begin
acbaccount.Connect();
exception
when e : GenericException do
ex : GenericException = new;
ex.SetWithParams(severity = SP_ER_ERROR,
message = 'There was an error connecting to the database');
raise ex;
end;
begin
err : i2 = acbaccount.ValidateAccount();
if err != 0 then
pErrorMessage.SetValue(acbaccount.ErrDescriptionStr(iErrorCode= err));
acbaccount.Disconnect();
return false;
else
pErrorMessage.SetValue('The account is
valid!!');
acbaccount.Disconnect();
self.ACBAccount = NIL ;
return true;
end if;
exception
when e : GenericException do
acbaccount.Disconnect();
ex : GenericException = new;
ex.SetWithParams(severity = SP_ER_ERROR,
message = 'There was an error Validating the account');
Task.ErrorMgr.AddError(ex);
task.errormgr.ShowErrors();
raise e;
end;
exception
when e : GenericException do
acbaccount.Disconnect();
Task.ErrorMgr.ShowErrors();
raise e;
If anybody has any suggestions , they would be most welcome
Thanks very much
Cheers
Jenni Els************************************************************************Th
is e-mail is intended for the use of the individual or entity named above
and may contain information that is confidential and privileged. If you
are not the intended recipient, you are hereby notified that any
dissemination, distribution or copying of this e-mail is strictly
prohibited. If you have received this e-mail in error, please notify us
immediately at helpdesklumley.com.au and destroy the original message.
While this mail and any attachments have been scanned for common computer
viruses and found to be virus free, we recommend you also perform your own
virus checking processes before opening any attachments.
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
WARNING:
Any unauthorised use or interception of this email is illegal. If this email
is not intended for you, you may not copy, distribute nor disclose the
contents to anyone. Save for bona fide company matters, the BoE Group does
not accept any responsibility for the opinions expressed in this email.
For further details please see: http://www.nbs.co.za/emaildisclaim.htmHi there
Thanks very much for the solution - just wanted to let you know . We
implemented the design that technote 11378 suggested .
It worked .
Thanks very much
Cheers
Jen
-----Original Message-----
From: Adamek, Zenon [mailto:ZAdamekpurolator.com]
Sent: Tuesday, 20 March, 2001 9:21 PM
To: 'forte-userslists.xpedior.com'
Subject: (forte-users) FW: (forte-users)
Hi David,
The problem is that the SO uses an attribute of its class ACBAccount as
the ObjectReference pointer. SO is not a stateless object. The possible
scenario before crash can be that client A and B calls SO at the same
time. A's thread creates ACBAccount gets the ObjectReference. At this
point B's thread is activated, does the same as A creates new
ObjectReference. Probably the next switch between A and B will be in the
Connect() (B should wait for OLE server). If A is reactivated it doesn't
get the original own reference but the B's reference. It can cause the
crash and means that a thread can use reference created in some other
thread.
Regards,
Zenon
-----Original Message-----
From: David McPaul [SMTP:dmcpaullumley.com.au]
Sent: Monday, March 19, 2001 11:52 PM
To: 'forte-userslists.xpedior.com'
Subject: RE: (forte-users)
Jenni,
As Zenon has pointed out, technote 11378 talks about problems that
can occur if the calls made to an OLE object are not from within the same
thread the OLE object was created in. It goes on to show a design to
avoid
this.
However, the code you have given DOES communicate to the OLE object
in the same thread as it was created. So the problem as I see it is more
likely to be that the OLE object is not being garbage collected. Although
you do explicitly NIL out the ACBAccount object there is a technote 12453
that deals with the need to set the ObjectReference of CDispatch objects
to
NIL to allow the OLE object to be completely reclaimed by the garbage
collector. Failure to do so when using code that creates a new OLE object
every time you ask for an account validation will eventually run the
partition out of memory.
As pointed out in a previous post you can also increase
FORTE_STACK_SIZE but this will delay the problem not correct it.
Rather than create the connection each time you may want to think
about redesigning the method as shown in tech note 11378.
Cheers
David
-----Original Message-----
From: Adamek, Zenon [mailto:ZAdamekpurolator.com]
Sent: Tuesday, March 20, 2001 5:05 AM
To: 'Els, Jenni'
Cc: 'forte-userslists.xpedior.com'
Subject: RE: (forte-users)
Hi Jenni,
The most important issue by designing an OLE connection between a Forte
server partition and an OLE component is taking into account that an OLE
object can be referenced from the NT thread in Forte partition that it was
created in. It is the reason that you have no problems with your mini-app
in
single-threaded version.
This problem is discussed in the Technote 11378. You can find a workaround
for your problem there, too.
Regards,
Zenon
-----Original Message-----
From: Els, Jenni [SMTP:JElsnbs.co.za]
Sent: Monday, March 19, 2001 2:28 AM
To: 'forte-userslists.xpedior.com'
Subject: (forte-users)
Hi there
We have this situation
We are calling a Service Object (in the server partition) from ourclient
partition.This service object calls a method which calls a DLLregistered
on our server (VB code) . This VB code access a database on anotherserver
.(DSN set up on our server ).The database is sql server .
We are having the problem where for about 3 hours in the morning , the
system works perfectly. We then get a segmentation violation on this
partition . When we run interpreted we can see that this is an OLEinvoked
exception. The partition does not always show as offline in econsole
and
because it does not , we cannot 'online' another . We cannot take the
entire app down as everything hangs . Eventually our technical depthas
to
down the server
We set up a mini-app looping through and calling the DLL to simulate
the
problem . It worked fine. When we put another asynchronous task in the
method to call the service object , it erred quite soon. We thencreate
an
attribute of type mutex and locked using that. The mini-app worked.
However our app in development eventually hanged (without the
partition
coming though) .
The service Object is an environment visible service object in asingle
(non-replicated partition) . It has a dialog duration = session .
In the project is
ACB : ACBObject
ACBObject : CDispatch (shared = disallowed , distributed =
disallowed, transactional = disallowed, monitored = allowed)
ACBValidator : Object (shared = allowed , distributed =allowed,
transactional = disallowed, monitored = disallowed)
ACBVaidatorSO : ACBValidator
In this method we have this code to call the DLL
self.ACBAccount = new;
self.ACBAccount.CreateUsingCLSID(classID='{2EFD3084-7B05-11D3-857F-00105A4
8CEA0}');
pErrorMessage = new;
acbaccount.BankCode = pBankCode.value;
acbaccount.BranchCode = pBranchCode.value;
at : VariantI2 = new;
at.Value = pAccountType.Value;
acbaccount.AccountType = at.Value;
acbaccount.AccountNo = pAccountNo.value;
begin
acbaccount.Connect();
exception
when e : GenericException do
ex : GenericException = new;
ex.SetWithParams(severity = SP_ER_ERROR,
message = 'There was an error connecting to the database');
raise ex;
end;
begin
err : i2 = acbaccount.ValidateAccount();
if err != 0 then
pErrorMessage.SetValue(acbaccount.ErrDescriptionStr(iErrorCode= err));
acbaccount.Disconnect();
return false;
else
pErrorMessage.SetValue('The account is
valid!!');
acbaccount.Disconnect();
self.ACBAccount = NIL ;
return true;
end if;
exception
when e : GenericException do
acbaccount.Disconnect();
ex : GenericException = new;
ex.SetWithParams(severity = SP_ER_ERROR,
message = 'There was an error Validating the account');
Task.ErrorMgr.AddError(ex);
task.errormgr.ShowErrors();
raise e;
end;
exception
when e : GenericException do
acbaccount.Disconnect();
Task.ErrorMgr.ShowErrors();
raise e;
If anybody has any suggestions , they would be most welcome
Thanks very much
Cheers
Jenni Els************************************************************************Th
is e-mail is intended for the use of the individual or entity named above
and may contain information that is confidential and privileged. If you
are not the intended recipient, you are hereby notified that any
dissemination, distribution or copying of this e-mail is strictly
prohibited. If you have received this e-mail in error, please notify us
immediately at helpdesklumley.com.au and destroy the original message.
While this mail and any attachments have been scanned for common computer
viruses and found to be virus free, we recommend you also perform your own
virus checking processes before opening any attachments.
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
WARNING:
Any unauthorised use or interception of this email is illegal. If this email
is not intended for you, you may not copy, distribute nor disclose the
contents to anyone. Save for bona fide company matters, the BoE Group does
not accept any responsibility for the opinions expressed in this email.
For further details please see: http://www.nbs.co.za/emaildisclaim.htm -
RE: (forte-users) RE: Forte 3 vs Java --Productivity
I think you should compare language to language, product to product
and standard to standard. J2EE is a standard, like CORBA. It's not
a product and it's not a language. J2EE is a standard, based on the
language Java, but the same standard can be used in the context
of Smalltalk, Cobol, Basic or TOOL as well. We have yet to see any
development tool that actually supports full J2EE. And how many
ORB's out there are really 100% CORBA 2.0 complient and offer
full interoperability through IIOP with other CORBA 2.0 complient
products?
The title of this entire thread is wrong. It's not Forte vs. Java, but
TOOL vs. Java or Forte vs. any Java-based ADE.
EJB, J2EE and CORBA are open standards, intended to facilitate
building large, component based applications. But they're only
standards, they're not usable products. Forte is a usable product.
It is a (propriaty) ORB, if offers lots of advanced component based
features and it uses a propriaty OO language called TOOL. Forte
was doing all this way before the world was debating CORBA, then
Java, then EJB and now J2EE.
Sure, when you really look at it, these standards are more complete
and include more design patterns than the way Forte solved the
problem, but the situation is still that, despite all those wonderfull
standards, Forte is still the product with the most advanced capa-
bilities that actually delivers.
The challenge to Forte is to incorporate those standards within their
own product. Are they going to build 2 products, one TOOL-based
and one Java-based, or are they going to integrate TOOL and Java,
or are they going to drop TOOL? Are they going to support J2EE
and will they keep offering those wonderfull distributed features that
are currently in Forte and are not part of J2EE? Will they switch
completely to JDBC or will they integrate DBSessions with JDBC?
Will their ORB functionality remain closed or will the Forte environ-
ment become a full CORBA 2.0 complient environment? Will they
keep supporting DCOM? Will they allow JavaBeans, EJB, Forte
service objects, OLE-objects, Servlets and Active-X components
to co-exist or will that remain SF? Are they going to support Swing?
Are they going to include an HTML-Browser widget? Are they going
to, natively, support JavaScript? What about VB-script? What
about Perl-script? What about TOOL-script??? Will they include
an object-based reporting tool, so you don't have to circumvent
the application and report against the relational database? Will
this reporting tool be Java-based, TOOL-based, both, EJB-based,
CORBA-based or whatever? Will they support JPEG and PNG as
well as BMP and GIF? Will they allow you to store these images in
the repository? Will they include a full-featured web-publisher that
supports HTML and XML as well as seemlessly integrate with Forte
applications? Will they allow you to deploy your (static) web-pages
on a web-server using E-console?
-----Original Message-----
From: Thomas Mercer-Hursh, Ph.D. [SMTP:thomascintegrity.com]
Sent: Monday, February 14, 2000 6:10 PM
To: 'kamranaminyahoo.com'
Subject: (forte-users) RE: Forte 3 vs Java -- Productivity
At 09:04 AM 2/14/2000 , Genesio, Fabrizio wrote:
Our users/customers are waiting for application right now, and
today with Java you may do it, but how expensive and reliable are all
the "+" signs of your equation? I am sure, in the moment somebody (Forté
For Java?) will propose an integrated Java environment capable to
seriously support development/assembly/deployment/maintenance, everybody
will immediately consider it as an alternative to Forté.Not an alternative ... check out FJEE, formerly known as SynerJ. They did
it right with TOOL, now they have done it right with Java. I still prefer
TOOL as the more productive, more elegant language, but if you have to use
Java, Forte has given you the way to do it right.
=========================================================================
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.comI think you should compare language to language, product to product
and standard to standard. J2EE is a standard, like CORBA. It's not
a product and it's not a language. J2EE is a standard, based on the
language Java, but the same standard can be used in the context
of Smalltalk, Cobol, Basic or TOOL as well. We have yet to see any
development tool that actually supports full J2EE. And how many
ORB's out there are really 100% CORBA 2.0 complient and offer
full interoperability through IIOP with other CORBA 2.0 complient
products?
The title of this entire thread is wrong. It's not Forte vs. Java, but
TOOL vs. Java or Forte vs. any Java-based ADE.
EJB, J2EE and CORBA are open standards, intended to facilitate
building large, component based applications. But they're only
standards, they're not usable products. Forte is a usable product.
It is a (propriaty) ORB, if offers lots of advanced component based
features and it uses a propriaty OO language called TOOL. Forte
was doing all this way before the world was debating CORBA, then
Java, then EJB and now J2EE.
Sure, when you really look at it, these standards are more complete
and include more design patterns than the way Forte solved the
problem, but the situation is still that, despite all those wonderfull
standards, Forte is still the product with the most advanced capa-
bilities that actually delivers.
The challenge to Forte is to incorporate those standards within their
own product. Are they going to build 2 products, one TOOL-based
and one Java-based, or are they going to integrate TOOL and Java,
or are they going to drop TOOL? Are they going to support J2EE
and will they keep offering those wonderfull distributed features that
are currently in Forte and are not part of J2EE? Will they switch
completely to JDBC or will they integrate DBSessions with JDBC?
Will their ORB functionality remain closed or will the Forte environ-
ment become a full CORBA 2.0 complient environment? Will they
keep supporting DCOM? Will they allow JavaBeans, EJB, Forte
service objects, OLE-objects, Servlets and Active-X components
to co-exist or will that remain SF? Are they going to support Swing?
Are they going to include an HTML-Browser widget? Are they going
to, natively, support JavaScript? What about VB-script? What
about Perl-script? What about TOOL-script??? Will they include
an object-based reporting tool, so you don't have to circumvent
the application and report against the relational database? Will
this reporting tool be Java-based, TOOL-based, both, EJB-based,
CORBA-based or whatever? Will they support JPEG and PNG as
well as BMP and GIF? Will they allow you to store these images in
the repository? Will they include a full-featured web-publisher that
supports HTML and XML as well as seemlessly integrate with Forte
applications? Will they allow you to deploy your (static) web-pages
on a web-server using E-console?
-----Original Message-----
From: Thomas Mercer-Hursh, Ph.D. [SMTP:thomascintegrity.com]
Sent: Monday, February 14, 2000 6:10 PM
To: 'kamranaminyahoo.com'
Subject: (forte-users) RE: Forte 3 vs Java -- Productivity
At 09:04 AM 2/14/2000 , Genesio, Fabrizio wrote:
Our users/customers are waiting for application right now, and
today with Java you may do it, but how expensive and reliable are all
the "+" signs of your equation? I am sure, in the moment somebody (Forté
For Java?) will propose an integrated Java environment capable to
seriously support development/assembly/deployment/maintenance, everybody
will immediately consider it as an alternative to Forté.Not an alternative ... check out FJEE, formerly known as SynerJ. They did
it right with TOOL, now they have done it right with Java. I still prefer
TOOL as the more productive, more elegant language, but if you have to use
Java, Forte has given you the way to do it right.
=========================================================================
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.com -
RE: (forte-users) Forte ADE
In addition to this confusion, I'd like to see some statement by Forte to
indicate
WHEN the next Forte R4 is scheduled (before the Sun era is was said to be
Summer 2000) and
WHAT exactly it will contain (major headings will do).
With the cancellation of the Forte Forum event doubt and uncertainty are
spreading in the
Forte communities that I talk with and no one seems to counterbalance these
doubts with an
official statement. How serious does Sun take TOOL Forte for the coming few
years? Release
of Fusion V2 seems to say "serious". The deafning silence with regard to R4
indicates the
opposite. And the users are divided (as always).
Theo de Klerk
Architecture & Application Integration
Professional Services
Compaq Computer Corp. - the Netherlands
-----Original Message-----
From: Rottier, Pascal [mailto:Rottier.Pascalpmintl.ch]
Sent: Tuesday, 18 April, 2000 17:49
To: 'kamranaminyahoo.com'
Subject: (forte-users) Forte ADE
A long, long time ago
In a galaxy far away....
I saw a demonstration of Forte's new Application Development
Environment,
which was more userfriendly than the current one. It also looked more
similar to the interface of the other development tools out
there, with a
tree structure and capabilities to browse through the
inheritance tree, and
not opening a new window for every project, class and method that is
accessed.
This new interface was supposed to be included in Forte 4, which would
combine TOOL and Java and would be released soon.
Since then, we've seen SynerJ and now FJEE, but Forte 4 is still not
released. And when it will be released, it still won't
support TOOL and Java
simultaneously. That's OK. I understand that.
But now I've heard that this improved ADE won't even be
included in Forte 4.
Is this true? And if so, why?
Pascal
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 may be interested in the following which comes from a statement of direction
recently issued by Sun.
Product Context
+ Forté 4GL is an award-winning, proven product with many unique advantages for
building
enterprise business systems that are distributed, that involve the integration
of existing
business systems as well as new functionality, and that target heterogeneous
runtime
environments.
+ Forté 4GL is recognized by Gartner Group as the most successful Enterprise
Application
Development Tool.
+ Forte 4GL has a substantial customer base that has been successful with the
product and that
looks forward to using Forté 4GL for new applications.
+ The Sun Microsystems, Inc. (SMI) development tools group (formerly Forté
Software, Inc.)
has a strong internal commitment to Forté 4GL. Forté Fusion is written with, and
is currently
being enhanced with Forté 4GL.
+ SMI has retained the Forté field sales organization as an independent unit
whose primary
product offerings are Forté 4GL and Forté Fusion. Continued volume sales of
Forté 4GL
remain the foundation of our business plan.
Product Future
+ We intend to actively enhance and promote Forté 4GL for the indefinite
future.
+ We believe Forté 4GL will flourish in the long term, especially if we are
able to harness the
considerable selling power of the entire SMI field sales organization. To make
the product
more attractive and easier to sell, we will continue to make the product more
modular and
easier to integrate with heterogeneous software environments.
+ We believe that the best opportunity for attracting new customers is to
leverage the ability of
Forté 4GL to easily build powerful shared business services (server components)
that can be
accessed by non-Forté clients (e.g., browsers, Java clients) and that can easily
integrate with
new and existing business systems.
+ We believe that Forté 4GL?s continued success is enhanced by continuing to
issue small and
frequent product releases. Our target is two such releases per year.
+ There is a great potential for our three product lines (Forté 4GL, Forté
Fusion, and Forté for
Java) to complement and reinforce each other. Interoperability among the three
product lines
is seen as a critical success factor for Forté 4GL.
Forte 4GL Statement of Direction Page 2
Sun Microsystems, Inc Proprietary and Confidential
Product Priorities
1. Interoperability with third party software components
+ External (non-4GL) client support (e.g., browsers, Java clients)
+ External server integration (e.g., messaging, component support, data
exchange)
2. Enhanced productivity
+ Increased automation (i.e., less coding)
+ Support for platform updates (e.g., new versions of OS, DBMS)
3. TOOL code to Java code migration
4. Unified developer look and feel with other Forte development products
5. Common repository
Short Term Product Plans
Mid-year release
+ New features available as ?preview? per the standard Forte maintenance
release procedures
+ Tentatively labeled ?release 3.5? and distributed as a free product
enhancement for
customers under maintenance
+ Scheduled for Summer 2000
+ Defining features
+ Introspection (reflection) ? the ability for an object to describe itself at
runtime
+ Improved integration with applications developed using Forté-for-Java
Community
Edition
+ Platform support improvements to track important operating system and
database
vendor activity
+ Target features
+ Display system enhancements (e.g., Motif 2 support, line arrowheads, window
refresh control, editable outline fields)
+ Dynamic library loading
+ Improved CORBA/IIOP support
+ Improved XML and XSLT class support
+ JMQ support
New year release
+ New features available as ?preview? per the standard Forte maintenance
release procedures
+ Tentatively labeled ?release 3.6? and distributed as a free product
enhancement for
customers under maintenance
+ Scheduled for year end 2000
+ Defining features
+ Any Release 3.5 target features that were not included in 3.5
+ Generation of EJB interfaces for R3 service objects
+ Platform support improvements to track important operating system and
database
vendor activity
+ Target features
+ COBOL record handling as part of the OS390 transaction adaptor
+ Improved runtime security
+ Interface classes for access to Netscape Server 4.0 and possibly other web
servers
Long Term Product Plans
+ To be determined by customer and market feedback.
+ A major criterion for new functionality will be enhancing the revenue
generating ability of
the product, thereby fostering its long-term health in the marketplace.
+ Substantial emphasis will be placed on creating new capabilities that enhance
the
attractiveness of the product for new users.
+ The contents of Release 3.7 (or whatever it will be called) will be
solidified just after release
3.5 ships. Subsequent planning visibility will be two forward releases.
"Klerk, Theo de" <Theo.de.Klerkcompaq.com> on 04/18/2000 12:27:36 PM
To: "'Rottier, Pascal'" <Rottier.Pascalpmintl.ch>,
"'kamranaminyahoo.com'" <kamranaminyahoo.com>
cc: (bcc: Charlie Shell/Bsg/MetLife/US)
Subject: RE: (forte-users) Forte ADE -
Re: (forte-users) access violation caught in debugmode
Eric,
There has been a problem with Forte debug mode for sometime now when the app
is silent. If you attempt to inspect the variables when the app is in the
'silent' mode, i.e., waiting on an event loop for a user input or a system
event, then you get the "Access violation caught ..." exception message and
the workspace including the launch server crashes.
If you are getting this problem in the 'step-through' mode, you should look
at the lauch server immediately after you get the exception before
everything disappears. There could be a stack backtrace due to some illegal
reference. We have faced a similar situation before but the error appeared
both in the 'debug' and 'run' modes.
Hope this helps.
Braja K Chattaraj.
From: Eric Decossaux <[email protected]>
To: forte mailing <[email protected]>
Subject: (forte-users) access violation caught in debug mode
Date: Thu, 23 Sep 1999 17:31:39 +0200
Hello,
I have a problem using Forte in debug mode. If I run my program on my NT
machine from the partition workshop (distributed run), the program works
fine except that some object does not display what I'm expecting. So I
want to use the debug mode to inspect the objets of this window. When I
choose the "local variables" option to see the content of my window, I
have a "access violation caught" and forte disappears. If I just let my
program run without choosing this option, everything is the same than
with the distributed run.
Does somebody have an idea what to look for ? I really want to look the
inside the attributes of this window.
We recently upgraded from release 30G2 to release 30L2. Could it be the
problem ?
Eric Decossaux
Cliniques Universitaires St Luc
Informatique des Laboratoires
av Hippocrate 10 / 1730
1200 Bruxelles
+32+2+764 17 53
For the archives, go to: http://lists.sageit.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: [email protected]Eric,
Another possibility has to do with the repository. You said you recently
migrated 30G2 to release 30L2.
Many strange problems have been traced to release migrations with old
repositories. If the repository was properly migrated another thing you can try
is to export the project(s) to PEX files, delete them from the repository, and
then re-import. I know this can be time consuming but I have solved more than
one unexplained problem in the IDE by doing it.
---------------------- Forwarded by Charlie Shell/Bsg/MetLife/US on 09/23/99
01:19 PM ---------------------------
"Ajith Kallambella" <[email protected]> on 09/23/99 12:08:54 PM
To: [email protected], [email protected]
cc: (bcc: Charlie Shell/Bsg/MetLife/US)
Subject: Re: (forte-users) access violation caught in debug mode
Eric,
Sometimes( 90% ) you can solve this problem by
checking out the class that is causing the crash
and force-compiling it.
If it doesn't help, run through this checklist.
1. Do you have enough memory resources.?
2. Is the object you are inspecting held in a lock ?
( mutex, transaction lock etc )
3. Does it work when you wait for sometime at the
breakpoint before inspecting the values? I mean
are you interrupting some process thread?
4. Does it work if you log the attributes using logmgr?
5. Are you using any call-outs/call-ins? Any external
systems integration? Sometimes( for reasons beyond
my comprehension ) the objects allocated outside
Forte gets corrupted when its passed back and forth.
6. ...finally...Santa Clause, help me!
Ajith Kallambella M.
Forte Systems Consultant.
From: Eric Decossaux <[email protected]>
To: forte mailing <[email protected]>
Subject: (forte-users) access violation caught in debug mode
Date: Thu, 23 Sep 1999 17:31:39 +0200
Hello,
I have a problem using Forte in debug mode. If I run my program on my NT
machine from the partition workshop (distributed run), the program works
fine except that some object does not display what I'm expecting. So I
want to use the debug mode to inspect the objets of this window. When I
choose the "local variables" option to see the content of my window, I
have a "access violation caught" and forte disappears. If I just let my
program run without choosing this option, everything is the same than
with the distributed run.
Does somebody have an idea what to look for ? I really want to look the
inside the attributes of this window.
We recently upgraded from release 30G2 to release 30L2. Could it be the
problem ?
Eric Decossaux
Cliniques Universitaires St Luc
Informatique des Laboratoires
av Hippocrate 10 / 1730
1200 Bruxelles
+32+2+764 17 53
For the archives, go to: http://lists.sageit.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: [email protected]
For the archives, go to: http://lists.sageit.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: [email protected] -
RE: (forte-users) (Fwd) ODBC & Dynamically Choosing aDatabase Ve ndor
The error you are getting is saying that the data source is not correctly
specified. Make sure the data source(or the name of the ODBC driver you
created) is correctly specified in your code.
ka
-----Original Message-----
From: Duncan Kinnear [mailto:[email protected]]
Sent: Sunday, December 19, 1999 6:26 PM
To: [email protected]
Subject: (forte-users) (Fwd) ODBC & Dynamically Choosing a Database
Vendor
I am trying to dynamically create a DBSession to connect to the
Microsft SQL Server ODBC Driver on a Forte Server Node.
I have tested the ODBC connection on the Local Machine and it works fine.
I have connected to the SQL Server on that machine with a Static
DBSession Object and that works fine.
I have used the same code to create a DBSession to Informix on Unix
and that worked fine.
The error I get is a converted ODBC one:
SYSTEM ERROR: Attempt to load partition named TestWinProject_cl0_Part1
failed.
Class: qqsp_ResourceException
Error #: [1001, 4]
Detected at: qqrt_ForteExecAgent::LoadPartition at 2
Error Time: Mon Dec 20 12:05:37
Distributed method called: qqrt_ForteExecAgentProxy.LoadPartition!7
(object name Unnamed) from partition "Node Manager", (partitionId =
40114BC0-B0FC-11D3-B4D6-E87D6941AA77:0x11c, taskId =
[40114BC0-B0FC-11D3-B4D6-E87D6941AA77:0x11c.38]) in application
"System
Manager", pid 250 on node ALLY in environment testenv
Exception occurred (remotely) on partition "Forte_Executor",
(partitionId
= 40114BC0-B0FC-11D3-B4D6-E87D6941AA77:0x11e, taskId =
[40114BC0-B0FC-11D3-B4D6-E87D6941AA77:0x11e.22]) in application
"TestWinProject_cl0", pid 235 on node ALLY in environment TestEnv.
SYSTEM ERROR: Failed to create service object TestDataProject.TestService.
Class: qqsp_ResourceException
Last TOOL statement: method TestServiceMgr.
Error Time: Mon Dec 20 12:05:37
Exception occurred (remotely) on partition "Forte_Executor",
(partitionId
= 40114BC0-B0FC-11D3-B4D6-E87D6941AA77:0x11e, taskId =
[40114BC0-B0FC-11D3-B4D6-E87D6941AA77:0x11e.22]) in application
"TestWinProject_cl0", pid 235 on node ALLY in environment TestEnv.
USER ERROR: (This error was converted)
Failed to connect to database: ForteSQLServer , username: justin .
[Microsoft][ODBC Driver Manager] Data source name not found and no
default
driver specified
Class: qqdb_RemoteAccessException with ReasonCode:
DB_ER_DBMSCONNECTION
DBMS SQLSTATE: IM002
Class: qqsp_ErrorDescriptor
Detected at: qqdb_OdbcVendorInfo::DoSQLConnect at 10
Last TOOL statement: method ServiceMgr.SetDBSession
Error Time: Mon Dec 20 12:05:37
Exception occurred (remotely) on partition "Forte_Executor",
(partitionId
= 40114BC0-B0FC-11D3-B4D6-E87D6941AA77:0x11e, taskId =
[40114BC0-B0FC-11D3-B4D6-E87D6941AA77:0x11e.22]) in application
"TestWinProject_cl0", pid 235 on node ALLY in environment TestEnv.
Versions:
SQL SERVER 6.5
ODBC Driver SQL Server 2.65.0240
ODBC Manager 3.0.28.22
NT 4 sp4
Forte 3.0.J.1
The code I'm using is almost identical to that given in the "Dynamically
Choosing a Database Vendor" section of the "Making a Database
Connection" chapter of the "Accessing Databases" manual.
Any suggestions would be greatly appreciated
Thanks in advance.
Cheers,
Duncan Kinnear,
McCarthy and Associates, Email:
[email protected]
PO Box 764, McLean Towers, Phone: +64 6 834 3360
Shakespeare Road, Napier, New Zealand. Fax: +64 6 834 3369
Providing Integrated Software to the Meat Processing Industry for over 10
years
For the archives, go to: http://lists.sageit.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: [email protected] -
Subject: RE :(forte-users) Web enterprise & user visibleservice Objects
A few months ago we faced a similar problem while migrating from classic
Forte to Web. We had to protect our investment in various frameworks that we
wrote for the classic Forte apps, which made use of extensive
user-level-caching among other things.
We solved the problem using a custom routing mechanism. In brief, we created
several( replicated) server partitions that contains all the user-level
Service objects that existed in the class-Forte apps. Then we wrote a
'custom-router' which mimics Forte load-balanced router( dialog duration =
session ) to intelligently route incoming HTTPRequests to one of these
replicated partitions. The router would look at the some tag on the session
and then route the request to one of these replicated "client clone" using
the tag. Successive requests from the same client will go to the same
replicated partition so that you can use the client-cache or any other
per-user services.
The advantages of this approach are
1) You can continue to make use of caching and other user-level components
that you may have.
2) The web and classic Forte clients can work seamlessly if you write them
to use reference partitions that hosts the other shared( Environment visible
) service objects.
Ofcourse you will have to write ( and maintain )the custom-routing code and
also pay attention to house-keeping. For example, the burdon of cleaning up
the cache on logout or session expiration lies on you. If you don't do this,
then your new user might be looking at an old cache of some other user.
Hope this helps,
Ajith
Forte Systems Consultant.
Subject: (forte-users) Web enterprise & user visible service objects
Hi
We have taken a forte application and converted it to run on the web using
* forte web enterprise &
* fortecgi.exe
In the forte application we have a user visible Local Cache Manager
Service Object (i.e. each users has their own copy) for storing things
like
* the details of the current user id
* the details of the current client chosen
* arrays that are needed by other windows
With web enterprise this service object is no longer user visible, how can
we make it user visible?
Thanks in advance.
Deborah Wallis
dwallisnbs.co.za
WARNING:
Any unauthorised use or interception of this email is illegal. If this email
is not intended for you, you may not copy, distribute nor disclose the
contents to anyone. Save for bona fide company matters, the BoE Group does
not accept any responsibility for the opinions expressed in this email.
For further details please see: http://www.nbs.co.za/emaildisclaim.htm
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.comA few months ago we faced a similar problem while migrating from classic
Forte to Web. We had to protect our investment in various frameworks that we
wrote for the classic Forte apps, which made use of extensive
user-level-caching among other things.
We solved the problem using a custom routing mechanism. In brief, we created
several( replicated) server partitions that contains all the user-level
Service objects that existed in the class-Forte apps. Then we wrote a
'custom-router' which mimics Forte load-balanced router( dialog duration =
session ) to intelligently route incoming HTTPRequests to one of these
replicated partitions. The router would look at the some tag on the session
and then route the request to one of these replicated "client clone" using
the tag. Successive requests from the same client will go to the same
replicated partition so that you can use the client-cache or any other
per-user services.
The advantages of this approach are
1) You can continue to make use of caching and other user-level components
that you may have.
2) The web and classic Forte clients can work seamlessly if you write them
to use reference partitions that hosts the other shared( Environment visible
) service objects.
Ofcourse you will have to write ( and maintain )the custom-routing code and
also pay attention to house-keeping. For example, the burdon of cleaning up
the cache on logout or session expiration lies on you. If you don't do this,
then your new user might be looking at an old cache of some other user.
Hope this helps,
Ajith
Forte Systems Consultant.
Subject: (forte-users) Web enterprise & user visible service objects
Hi
We have taken a forte application and converted it to run on the web using
* forte web enterprise &
* fortecgi.exe
In the forte application we have a user visible Local Cache Manager
Service Object (i.e. each users has their own copy) for storing things
like
* the details of the current user id
* the details of the current client chosen
* arrays that are needed by other windows
With web enterprise this service object is no longer user visible, how can
we make it user visible?
Thanks in advance.
Deborah Wallis
dwallisnbs.co.za
WARNING:
Any unauthorised use or interception of this email is illegal. If this email
is not intended for you, you may not copy, distribute nor disclose the
contents to anyone. Save for bona fide company matters, the BoE Group does
not accept any responsibility for the opinions expressed in this email.
For further details please see: http://www.nbs.co.za/emaildisclaim.htm
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) Unstable server ENV after upgrade to Forte30M2.
I see/suggest a few things:
1) In your #1, you mention ".... development and test environments which use the
same Forte 3M installs through links ...". This concerns me. On our UNIX box
each environment has it's own directory containing it's own install. If your
environments are some how sharing a node manager, log directory or processes (to
name a few things) that is a recipe for disaster. They may be competing for
resources and usually the first one started will win.
2) I haven't done a lot with compatibility levels, but if an application built
in dev is to run in test it may be important that node managers and services
(autocompile, codegen etc.) be at the same level (????).
3) Check the definition files, to make sure the two environments operate
independently. If they are both trying to write to the same log file the one
started up first will work while the second will not as the file will be "busy".
4) We usually use rpcreate (newer version) to create brand new repositories.
Than we export/import the source code that we need. Also it is important to
force compile ALL plans in a workspace at least once after doing the import.
This will ensure that all of the code is "speaking the same language". The other
compile, only compiles those pieces of code that changed from the last compile.
Hope this helps.
Kelsey PetrychynSaskTel Technical Analyst
ITM - Technology Solutions - Distributed Computing
Tel (306) 777 - 4906, Fax (306) 359 - 0857
Internet:kelsey.petrychynSasktel.sk.ca
Quality is not job 1. It is the only job!
"Braja Chattaraj" <forte_brajachotmail.com> on 09/13/2000 03:43:57 PM
Please respond to chattaraj_braja_NONLILLYlilly.com
To: forte-userslists.xpedior.com
cc: (bcc: Kelsey Petrychyn/SaskTel/CA)
Subject: (forte-users) Unstable server ENV after upgrade to Forte 30M2.
We are running Forte 3M2 clients and server in our test environment with
clients on NT and server on Solaris 2.6. Eversince the upgrade from 3L to 3M
we have been having an unstable environment that does not remain alive for >
10 mins. These are the details of the Forte installs and server setups :
1. The server hosts the development and test environments which use the same
Forte 3M installs through links (same ftcmd, ftexec, nodemgr, etc.). The
environments are at compatibility levels 0 and 1 respectively.
2. The two environments have the same definition files (defining the ENV
variables), though seperate copies and the two environments are hosted on
different ports on the same server.
3. While building the new 3M environmnets in DEV and TST, we exported the
old 3L repositories and imported them into the new 3M repositories and
deployed the applications.
While the DEV environment is stable the TST environment is not. This has
been observed while moving plans between the environments (export and
import) using fscript commands, deploying the apps after the move using
fscript, and testing the apps. Sometimes it has come down right after a
startup. There is no programatic reference to the environment agent in the
code. So, a programatic shutdown is ruled out.
Does anybody have a clue or a similar experience ?
Thanks.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BRAJA KISHORE CHATTARAJ
Consultant, Analysts International.
Work : Sphinx Pharmaceuticals (A division of Eli Lilly & Co.)
(919) 314-4134
Home : 1801, Williamsburg Rd., #41H, Durham, NC 27707.
(919) 463-7802
E-mail : forte_brajachotmail.com
Visit us www.analysts.com
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
http://profiles.msn.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.comWe found a solution to our issue.Their desktops were in a lockdown environment and the essbase.id file located in the windows directory was locked as well. This file is responsible for assigning ports etc and it couldn't be updated for the 6.5.4p2 upgrade. Once the file was deleted and the user reconnected to Essbase, the essbase.id was reset and they could connect.
Maybe you are looking for
-
I have trouble connecting to internet explorer and with my office home and student 2010
I cannot connect to my internet explorer and I have trouble with my microsoft office home and student 2010 and when I look for a site with https at the beginning it won't connect
-
Send to Final Cut Pro in Color off an external Hard Drive, causes Color to Crash
Okay, so I'm having some Color issues guys... I'm color correcting a feature right now, and just completed the CC with Color. I did the entire color correct on an internal hard drive on a Mac Pro. My client wanted to take a look at the CC on a differ
-
Setting In/Out In Event Viewer
with a clip highlighted in my event viewer and double clicking on the timer to get to a specific point in the clip, Im not getting the right time like say I want to go to 4 seconds I hit 4 0 0 to advance to the seconds and what Im getting is 2:29 ins
-
How to source .Xdefaults' color settings from other config files?
I'd like to reuse the colors I've setup in my .Xdefaults in other config files, I'm not sure if I could somehow source these from other scripts, or if I should centralize them another way... Any pointers ? cheers
-
I have created a form and havegot it to work when I click send it opens up outlook and sends as xml is there anyway I can get it to send as an exact copy of the PDF with the users data that has been inputted for easier viewing elsewhere?