ProActive Software takes product development and design up a notch

The days of a company’s workforce coming together at one location at the same time are long gone. In many industries virtual teams are now the norm, making a solid collaboration strategy more important than ever.

That’s where ProWorkflow comes in. Developed by ProActive Software, ProWorkflow gives thousands of users worldwide access to tools and project details so they can manage their tasks, time, and contacts from desktops and mobile devices. The platform is built on Adobe ColdFusion, which gives ProActive the flexibility to adapt in time with customers’ rapidly changing demands.

“Product iteration was fast using Adobe ColdFusion,” says Vishal Nath, CIO of ProActive Software. “As our customer base grew and our product matured, we had to create application program interfaces (APIs) for customers so they could create apps and reports with their own data. We did that quickly with ColdFusion.”

Adobe has been a trusted ProActive partner for over 14 years and is playing a key role in ProActive Software’s mobile strategy. The new ProWorkflow Mobile service extends the solution to customers’ smartphones and tablets. The mobile app has a front-end framework that talks to the company’s API, which was developed in Adobe ColdFusion.

The next step for ProActive Software is experimenting with apps in Adobe Creative Cloud, bringing development and design closer together. The new Adobe Stock will help the team improve design elements, while Adobe Typekit will provide typographic inspiration.   

“After 14 years, it’s difficult to fully quantify the value we’ve realized from Adobe,” Nath says. “However, we know how other developers and development companies operate and compared to them we know we’re saving development time and costs with ColdFusion. We’re incredibly efficient by comparison.”

To learn more, read the ProActive Software case study: http://adobe.ly/2cgK4Vx.

Application deployed on Network/Remote Path – Identifying Network Latency – Improve Performance

Many a time, ColdFusion application code is deployed on a network path when your ColdFusion deployments are of large-scale and mandated to use network paths.

After setting up the server for the first time, if there is any performance hit, as the first thing you would want to cross-check few things. One of the things to determine is if there is any network latency.

Though you would have got same network within your organization same as earlier, your OS version also would have changed.

Follow the steps below to see if the performance hit is due to network latency-

When the server is under moderate or full load(with at least 8-10 requests under process), take 2 or 3 thread dumps with 30 seconds interval.

It is not appropriate to take thread dump when the server has negligible load and anlyze that as there may not be any in-process requests.

If you are not sure how to take thread dump, you can simply follow the following blog.

( Taking Thread Dumps From ColdFusion Server Programmatically )

Open the thread dump file:

Under moderate or full load server conditions, if you see more than 5-8% of running ColdFusion threads containing “WinNTFileSystem” in the thread’s stack trace –> It means that there is lot of time being spent in trying to resolve the application file paths.

Following are the sample threads having WinNTFileSystem in its dump.

"ajp-bio-8014-exec-6861" Id=13898 in RUNNABLE
 java.lang.Thread.State: RUNNABLE
 prio=5 blockedtime=28963 blockedcount=6819 waitedtime=421762 waitedcount=115
    at java.io.WinNTFileSystem.getBooleanAttributes(Native Method)
    at java.io.File.isFile(File.java:876)

 

"ajp-bio-8014-exec-6861" Id=13898 in RUNNABLE (running in native)
 java.lang.Thread.State: RUNNABLE
 prio=5 blockedtime=28961 blockedcount=6814 waitedtime=421762 waitedcount=115
    at java.io.WinNTFileSystem.canonicalize0(Native Method)
    at java.io.Win32FileSystem.canonicalize(Win32FileSystem.java:414)
    at java.io.File.getCanonicalPath(File.java:618)

 

(Note: ColdFusion threads can be identified by the name starting with "ajp-" )

For Example, if there are 50 threads with thread name starting "ajp-bio-" in the thread dump, if you see WinNTFileSystem in more than 2-3 threads, it is the time you start looking at minimizing the network latency.

 

Once you know there is latency, you would want to know how much is the latency when compared to the application existing locally.

Created a very basic network latency test program to validate this.

You can take the jar from here.

And run it from command prompt as follows:

> C:ColdFusion11jrebinjava -jar <Path of NetworkPathsTest.jar> <Network or Local Directory Path >

If the network path (Ex:- \orgserverd$) is accessible only to the ColdFusion service user, open command prompt as that user ( runas /user:<cfserviceaccount domainname>cfserviceusername CMD )

 

Examples:

Path Arguments can be one or more. More Path arguments is a good measure to see the difference clearly.

C:ColdFusion11jrebinjava -jar C:ColdFusion11NetworkPathTest.jar \orgserverd$deploycfm

C:ColdFusion11jrebinjava -jar C:ColdFusion11NetworkPathTest.jar \orgserverd$deploycfm \orgserverd$deploycfmapi

Try the same paths keeping the content same on the local machine and see the time differences.

For the same paths on local and remote, the difference in time should not be exponential.

These tests are to be performed on your ColdFusion server machine.

Once you have validations and found any latencies, it is the time to call for network optimization expertise.

 

 

Enabling Employee Recognition in Record Time

Inspirus develops software applications that help customers inspire their workers through effective employee recognition and rewards programs. For more than two decades, Inspirus has developed its solutions on the Adobe ColdFusion platform using rapid prototyping and agile software development methods. 

“ColdFusion and agile development are a natural fit, giving us the flexibility to change direction with ease and mock up a new solution in an acceptable timeframe,” says Steve Black, Manager of Development at Inspirus. “Rapid application development has resulted in a flexible platform that supports our client-centric business model for branding client solutions in a cost-effective, scalable way.”

The Texas-based company modifies its existing code base to show customers prototypes and iterations rapidly. The speed with which Inspirus responds to customers’ needs has resulted in a pattern of repeat business. Adobe ColdFusion also enables rapid conversions of legacy systems. For example, Inspirus saved 37 days of production time, which helped get the product to market much faster than originally anticipated. http://adobe.ly/1LohV7X

Setting up ColdFusion in distributed envionment

You might want to set up ColdFusion in a distributed environment where ColdFusion is running on one machine and Web server is running on a different machine.

Following are the set of steps that have to be performed to achieve this (less error-prone):

This applies to both ColdFusion 10 and ColdFusion 11.

1) Have ColdFusion server installed in a machine.

2) Next thing is to download and install VC Runtime.

             – The version of VC Runtime that you have to install depends on the version of ColdFusion.

                Say, ColdFusion 11 needs VC Runtime 2012

                 (32-bit VC Runtime for 32-bit Web server and 64-bit VC Runtime for 64-bit Web server.

                  If you are not sure, you can install both)

                 (https://www.microsoft.com/en-in/download/details.aspx?id=30679)

                and ColdFusion 10 needs VC Runtime 2010

 

3) Copy the following contents from the machine where ColdFusion is running to the machine where Web server is running at the same location.

 C:ColdFusion11jre

 C:ColdFusion11runtimelibwsconfig.jar

 C:ColdFusion11runtimeconfserver.xml

C:ColdFusion11configinstances.xml

C:ColdFusion11configcluster.xml

 

4) Open a Command prompt and run wsconfig tool

   C:ColdFusion11>jrebinjava -jar cfusionruntimelibwsconfig.jar

    It will open a configuration window where you have to provide AppServer Host as the ColdFusion Server IP.

    Configure the connector.

Distributed environment is ready for use. Send requests to the Web server's URL with cfm files under web server root and same files under ColdFusion's Web root.

Web server would redirect these to ColdFusion, which is on some other machine.

 

 

Fulfilling customer requirements by focusing on functionality

Normal
0

false
false
false

EN-US
X-NONE
X-NONE

MicrosoftInternetExplorer4

Since 2004, Promisan has built its management consulting and
systems business by creating tools that help clients optimize how they use
information. Promisan’s flagship enterprise resource planning (ERP) solution,
Prosis, surpasses rival solutions because it has been built using the stable,
mature, and powerful Adobe ColdFusion
platform. ColdFusion gives Promisan the flexibility to meet changing customer
requirements and to integrate with a variety of IT infrastructures

“Adobe ColdFusion is a fantastic application server that
outperforms others at a significantly lower cost of ownership. Because it’s
based on a J2EE-compliant Java platform, it readily supports Linux, Solaris,
Mac, and Windows operating systems. The platform integrates seamlessly into
Java and C++ projects—providing outstanding flexibility in the demanding,
challenging ERP arena,” says Jorge Armin Mazariegos, co-founder and operations
manager at Promisan.

Prosis has helped one global company cut staffing report times
from three days to one minute and a recruiting agency to gain real-time insight
into job recruiting status. The ERP system has also helped a crude oil
distributor cut the time required to refill storage tanks by 67%.

Adobe ColdFusion has allowed Promisan to eliminate nearly all
third-party tools for solution development. With ColdFusion, Promisan
developers have achieved a sustainable business model for Prosis that can
support sites with anywhere from 5 to 5,000 users accessing more than 1,500
normalized database tables.  http://adobe.ly/1BWdfnE

 

Improving European education with collaborative applications

Educators and students throughout Europe benefit from the
technological innovations that European Schoolnet builds using Adobe ColdFusion.
The consortium of 31 education ministries develops programs and projects that
benefit teachers, pupils, researchers, and industry partners who share the goal
of improving the quality of education in Europe.

European Schoolnet serves more than 250,000 users and 25
different languages with projects like the eTwinning portal, a virtual meeting
point for the exchange of information between schools. It provides all the
tools and services schools need to find partners, resources, advice, help, and
information, and even to build eTwinning projects in partnership with each
other. To support its objectives, eTwinning needed to integrate smoothly with a
wide range of third-party technologies, APIs, frameworks, and existing Oracle
databases while still aligning with the organization’s rapid development
methodology.

 

“Development in Adobe ColdFusion is easily 40% faster than in
other development environments. Significant time efficiencies are found in
early development stages, faster coding, extensive code reusability, testing,
and debugging,” says Bart Vanhulle, technical manager and lead developer,
European Schoolnet. “In addition, any conceptual, integration, and
methodological challenges are readily addressed through the highly effective
Adobe ColdFusion online developer community.” http://adobe.ly/1xGtlOV

How we solved a connector issue after ColdFusion 11 Update 1

ColdFusion 11 update 1 was
out and blogged about here.
It included the fixes listed in the technote, out of
which two (Bug#
3777189
& Bug#
3758172
) were related to IIS. We would like to share one of our Customer
experience and how we solved a connector issue after applying Update 1 in
ColdFusion 11.

The Challenge

Recently we were contacted by a customer from a larger organization, who wanted the IIS fixes. They weren’t aware about the release
of Update 1. Once we told them, they tried to apply the Update 1, but had
issues with it. We suggested them the alternatives that can
be used when there is a problem with direct application of the hotfix. The
update was installed successfully and was confirmed from ‘Settings Summary
page in the CF Administrator. The next step was to reconfigure the connector. The
moment connector was re-configured, all the sites went down. There were
approximately 15-20 sites configured with ColdFusion and the entire production
went down. We checked the update logs and they were clean. The error reported
was “Error 403 Access Forbidden
across all the sites.

The Solution

We tested the non CFM sites, and they
were functional. Only the ColdFusion based sites were giving the forbidden
errors. Thus we inferred that, the issue is either with ColdFusion or the connector
configuration. We enabled the internet port for ColdFusion and there we go, it
worked. This meant, ColdFusion was also working perfectly, but somewhere the
connector broke. Even after trying all the ColdFusion based troubleshooting
steps, basic windows troubleshooting, permissions check, ColdFusion logs etc.,
we were unable to fix the issue.

Then we decided to compare the
settings with one of the development servers they had. And bingo, we found the root
cause of the 403 error. “worker.cfusion.secret=yourSecret” was added by them in
their {cf.home}/config/wsconfig/[magic number]/workers.properties as a part of connector shared secret setting. This
is a part of ColdFusion
11 Lockdown Guide
 procedure. When the connector was re-configured, the
previous settings with configuration information were erased. But the
corresponding entry in the {cf.instance.home}/runtime/conf/server.xml was still
looking for the related entry in workers.properties and thus was throwing error.

The Result

Once the setting was updated, all the
sites were up and running in seconds. The customer was very happy, as their sites were back on production. If the connector needs to be
reconfigured, we have to first remove it and then re-configure it. Connector removal
means, the changes made by the user will be lost. When the user re-configures
the connector thereafter, we don’t have any means to identify what configuration
settings they previously had.

The Recommendation

Before
you re-configure the connector, we strongly recommend the following:

Ø  Back up all connector configuration files. Connector
configuration files are available at {cf.home}/config/wsconfig/

 

Note: The same has also been
mentioned in the ColdFusion 11 Lockdown Guide as well.

Innovation to solve business problems

As a provider of
IT solutions to government and private organizations, Digicon leverages Adobe ColdFusion
to give itself a unique competitive advantage. Specifically, Digicon uses
ColdFusion to build modules for internal implementation, then rapidly provision
and host the results commercially.

 

Our ability to
build applications in ColdFusion and quickly deliver them to customers gives us
a huge advantage over competitors who use other development environments,
” says
Mark DeLaney, senior application developer at Digicon.

 

Successful projects include a youth summer job program in which Digicon
replaced 50 paper forms with a new digital application system. The web-based
system can be used on smartphones, tablets, and even video game consoles, which
encourages greater participation from youth, as well as employers. To
date, nearly 5,200 jobs have been filled, which has had a significant impact on
meeting community needs. http://adobe.ly/1uTEQES