Showing posts with label ArcGIS for Server. Show all posts
Showing posts with label ArcGIS for Server. Show all posts

Wednesday, September 20, 2017

Learn ArcGIS Server - YouTube series

Whenever I record a new episode on ArcGIS Server I started adding it to this playlist. Looking back I believe there is good content recorded and worth sharing.
The series starts from scratch explaining what ArcGIS Server is, how to install and configure, going through publishing by value vs publishing by reference and explaining pooling configurations and processes. I think y'all will enjoy this content, sharing this in reddit.

This series is not done, as I receive ideas and questions on this technology I record and add it to this series.

https://www.youtube.com/watch?v=j8pF8imok3Y&index=1&list=PLQnljOFTspQUb2IsJ6qPQcQ8f7NkqNcxr

Enjoy
Hussein

Sunday, June 18, 2017

ArcGIS for Server Pooling Settings

Pooling is the ability to have multiple workspace connections to serve client requests. Configuring the pooling of ArcGIS Server can be challenging, in this episode we discuss what is pooling and how to configure it correctly.






Watch the full ArcGIS Server Youtube Playlist to learn more about ArcGIS Server https://goo.gl/nkfM6Q


Boost your GIS knowledge by grabbing my books

Learning ArcGIS Geodatabase https://goo.gl/csQdCX

Administering ArcGIS for Server https://goo.gl/zvYCRg

ArcGIS By Example  https://goo.gl/yJKSqB

Building Web Applications with ArcGIS https://goo.gl/brgKUJ

Support IGeometry on paypal:  https://goo.gl/wZ8hSh

Full ArcGIS Javascript API Series Playlist http://bit.ly/2zf7G80

Full Multi-User Geodatabase Playlist https://goo.gl/nSgYnM

Full ArcGIS Pro 2.x Playlist https://goo.gl/2j4NoZ

Full ArcGIS By Example (C#) [Phonatech] Playlist https://goo.gl/FwdrHa

Full ArcGIS Server Playlist https://goo.gl/nkfM6Q


More ArcObject Videos https://goo.gl/NbebLP


-Hussein

Saturday, April 22, 2017

ArcObjects - Creating Polygon Features

We learn how to create polygon feature using two approaches. Rubberband and point collections. 

Enjoy!




Thursday, March 23, 2017

Set up an ArcGIS Desktop Development Environment



In this video, we discuss how to setup an ArcGIS Desktop environment for development from scratch. We start with a clean 8.1 Windows machine and then we install the required software. These are the list of software required.



1. ArcGIS Desktop 10.4.1

2. Visual Studio Community 2015

3. ArcObjects SDK For Microsoft .NET Framework



Download ArcGIS for 60 days, details here:



http://www.husseinnasser.com/2016/04/arcobjects-sdk-available-for-download.html



Download Visual Studio 2015 Community

https://www.visualstudio.com/downloads/





Questions and comments are welcomed!



-Hussein Nasser














Wednesday, November 12, 2014

I'm very proud of this title, Building Web Applications with ArcGIS

Among the books I wrote, this one stands out. I have used a story based approach starting from the first chapter up until the very last appendix.

This book starts with a problem. A problem that you will be solving. A client hands your his requirements to build a web application with ArcGIS. With each chapter you will be implementing one functionality until you bring and complete the entire project and web site up and running in the last chapter.

All this is being done with the ArcGIS for Javascript API, not feeling like writing code? With each chapter I hand you the end result source code.




I believe that this book will benefit a lot of those who want to begin programming with ArcGIS for Javascript. It doesn't require you to have any prior knowledge of ArcGIS as well.

Click here to get your copy

Yours
Hussein Nasser





Monday, April 21, 2014

A blast from the past, Esri ArcGIS Server Code Challenge April, 2007

In 2007, I won the first place at the ArcGIS for Server Code Challenge, conducted at the Esri Developer Summit in Palm Springs, California, for using AJAX technology with ArcGIS for Server, which was not implemented back then.


I remember winning a Trimble device which until this day I keep it.


p.s. Mind the picture.

Monday, March 3, 2014

Securing ArcGIS for Server [GIS Tier]

This is a simple walkthrough on how to secure ArcGIS for Server on the GIS Tier using ArcGIS token.

In this video:
How to create Administrator group, Publisher group and User group and assign them to services.

Stay tuned for more videos and tips for ArcGIS Server!

p.s. Make sure to turn on 720p mode for higher quality video.

Hussein


Tuesday, January 28, 2014

Efficient Memory Management in ArcGIS for Server (Save more RAM with these tweaks)

ArcGIS for Server has high affinity when it comes to memory. Services will keep devouring more RAM, especially if those services are not configured properly. No matter how strong your servers get, there will always be limited memory and CPU power. Your number of users will keep increasing the more your services get vital.

I have compiled few tweaks that might help you manage your memory more efficiently and perhaps will save you the trouble and money of buying more RAM.

1. Use Process Low Isolation

Although the use Low Isolation is frowned upon, it has a silver-lining of making your services run with much less memory. This will basically squeeze multiple instances into a single process.

To change this parameter, from the ArcGIS Server Manager, click Services. Then edit the service you want to modify the process isolation properties. Activate the Processes tab and change the Isolation Settings to Low Process Isolation. You can also specify how many instances can run in a single process thus saving more memory.

click to enlarge

 

2. Configure the Services with fewer Instances

You can minimize the maximum number of instances in the pooling options for services. This way you will have fewer instances which consume less memory. You can also increase the waiting time for the users. let them wait for free instances instead of handing them new ones and wasting your memory.

click to enlarge



3. Don't start up instances that are rarely used.

Instances, specially image instances, that are rarely used does not require to be initiated from the start. Set the minimum number of instances for those services to zero to save up some more memory.

click to enlarge


If you are interested for more tips, you may find my new book worth reading Administering ArcGIS for Server

Monday, January 13, 2014

Different Architectures and hardware configurations for ArcGIS for Server

There are three main components in ArcGIS for Server, a Web Server which receives requests and forwards them, and a GIS Server which processes and executes the requests. And the configuration store which holds details of the Server Site. The three components can be arranged into different architectures. Following are some illustrated architectures:


It's every man for himself.







This architecture explains the different components of ArcGIS for Server, the GIS Server, the main part which does the processing, the Web Server which is an optional part that receives requests and forwards them to the GIS Server, the geodatabase server which holds your data and last server which holds the Server Site configuration.

The client sends a request to consume a GIS service to the Web Server on port 80 (by default, this can be changed of course) the web server forwards it to the Server Site to a GIS Server, the GIS Server will need to fetch some details from the configuration store about the Server Site, the GIS Server processes the request, it might need to connect to the geodatabase to fetch some data.
This model, It's every man for himself, shows how to distribute servers so everyone can perform one task.

Advantages:
Better management as each node can be monitored separately.

Disadvantages:
Expensive, needs a lot of servers + Heavy networking communication.



I can do that







This model is similar to the previous one, the different is that we got rid of the Storage server for the site configuration and placed it with the Geodatabase Server. The geodatabase server can do the job of the storage server.

Advantages:
Saves one server and higher availability as configuration data is located with the geodatabase.

Disadvantages:
- If the Geodatabase failed the entire Server Site will collapse since the configuration store will no longer be available
-Heavy networking.





Cut the middle man



This model removes the Web Server from the picture thus establishes direct connection with the GIS Server over port 6080

Advantages:
Less networking traffic and configuration

Disadvantages:
-Port 6080 should be opened by the firewall, thus introducing security vulnerabilities.
-No control over who can access the server, which was the job of the web server.


Keep her out of this








This model isolates the geodatabase from the Server Site, the GIS Server will take care of the Config Store. Still the Web Server can control the traffic.
Advantages:
-No Server is required for the Config Store
-
Disadvantages:
-If the GIS Server fails the Server Site is no longer accessible.
-Heavy networking activity




Keep them out this







This model is similar to the previous one, except that the Web Server is removed, thus less configuration and servers. 





The Three Musketeers





This model is setup so that no networking is required at all, the geodatabase, config store are located in the GIS Server. This model is good if the geodatabase is read only. The admin can duplicate multiple GIS Servers with Network Load Balancing between them. In case one fails another can take over.

Advantages:
Redundancy, if a server failed another takes over and have all what it needs
No Networking Traffic, fast retrieval of data. (Data Locality)

Disadvantages:

Redundancy again, since if the geodatabase changed you have to update all GIS Servers.



Mother Teresa





This model is interesting, it is similar to the Three Musketeers , except that the Web Server joins the troop. This model adds the benefit of the Web Server configuration and permissions.




We will introduce another topic where we explain multiple GIS Servers in the server site.


Wednesday, December 25, 2013

ArcGIS for Server Web Adaptor

You may have stumbled upon this new component that ESRI added in 10.1.  You see it there, in the installation menu, not sure if you should install it or not. You don't even know what does it do. I remember skipping the Web Adaptor first time, I installed ArcGIS for Server successfully and things worked just fine without it. But that was before going to production.

Prior 10.1, ArcGIS for Server (hereafter known as just Server) depends on Internet Information Services (IIS) to publish system web sites which are required for communications between Server components. Server uses these sites to publish and manage GIS Services. However, coupling ArcGIS for Server to IIS like that created a dependency on Microsoft, which prevented ease of upgrade to other platforms.

ArcGIS for Server requires a Web Server Software in order to function. It is where the system web sites are published. That is why in 10.1, ESRI shipped the product with a free built-in Web Server (Apache TomCat 7.0.27) and allowed all system related sites to be published on that built-in Web Server. They even choose a unique port for that purpose, 6080. This allowed ESRI to simplify the installation and easily maintain one architecture across multiple platforms.

After you complete the installation, you can access your services and manage them through this port over HTTP. Assume your Server host name is GIS-SERVER

You use this link to view all services
http://GIS-SERVER:6080/arcgis/rest/services 

This will view a particular service (LANDCOVER) REST description
http://GIS-SERVER:6080/arcgis/rest/services/landcover/MapServer

This will view the service using javascript api
http://GIS-SERVER:6080/arcgis/rest/services/landcover/MapServer?f=jsapi

This gives you access to the ArcGIS for Server Manager
http://GIS-SERVER:6080/arcgis/manager

And so many other uses.

Although this approach seems clean and decoupled, there is however a problem with it. You are really limited with what you can do with this built-in web server. You don't have the luxury to modify the web server configuration, set permissions, change the port or allow authentication. Moreover, you have to enable the 6080 port on your firewall if you want to allow someone outside your network to access it. There are other security issues involved, like Cross Domain. Cross Domain is when a web site or a page requests data from another page which is not hosted on the same domain and port. If you will start publishing web applications and pointing to your services through this port 6080, you will need to enable the cross domain to allow your applications to communicate with other domains. This is a big security risk, as malicious attackers might use this hole to inject scripts on your website that communicate with a remote site and retrieve/send vital information. The Web Adaptor comes in here to fix this.

The Web Adaptor is a web site that acts like a bridge between the existing Apache built-in web servers and your own dedicated Web Server software. It redirects the traffic between the two and allow you to freely configure your Web Server without affecting the existing one. You can publish your Web Adaptor on IIS or any other Web Server using your choice of port. This is usually the default port which is 80. You can also choose to install the Web Adaptor on a separate server making it a dedicated Web Server and point to existing GIS setup. This requires you to open port 6080 between the Web Server and the GIS Server. The GIS Server is the server where you installed ArcGIS for Server.



Click to enlarge



We will discuss more about ArcGIS for Server in future posts. Stay tuned and subscribe.



Wednesday, June 12, 2013

ArcFM Server, Do You Need it?





Lots of people requested me to write about this technology, so here it goes.

Good thing about this blog is it doesn't take sides, if I didn't like a product I simply say so. So when you hear something from me (good or bad) its probably coming from my sole experience with a product.

What is ArcFM Server? 
Let us start with what is ArcFM. ArcFM (Facility Management) has been created on top of ArcGIS platform by Miner and Miner as desktop application for utility users. Since ESRI was not focusing on Utility users, M&M has found a niche and tackled it with a solid product. Made a good money out of it.  Schneider Electric found this gem and bought it.

ArcFM Server is an extension for ArcGIS Server (now 10.2), allows you to support ArcFM functionalities on your GIS Services. They probably didn't say this in the brochures and flyers but ArcFM Server is won't work without ArcFM Desktop Editor. You need the desktop version to configure your geodatabase, upgrade it to support ArcFM etc.

Here is a live demo of ArcFM Server, it is on 2.4 at the time of writing this article.

Good thing about ArcFM Server?
At my company, we have implemented ArcFM Server for one reason. We didn't want to customize anything. We want a product that we can install, configure and voila!. We have ArcFM desktop fully configured with feeder manager, we implemented ArcFM Server and bang! we have all our electric traces right on ArcFM server page with some basic nice features with no single line of code.

Disadvantages
Lack of Support and Training
If you got error in the installation or configuration ArcFM server (and yes you will) good luck with that, you are on your own. The forum is filled with unanswered questions. No training yet offered for ArcFM server.

Silverlight
I said this to the guys at schneider electric and I'm gonna say it again. There is an elephant in the room and it is called silverlight. Why are you still supporting this? The only reason we are going Web 2.0 so that we can consume our services from multiple sources. Silverlight is not supported on any of the tablets or phones. HTML5 however is supported. Either build us native applications on mobile to consume these services or support HTML5.

Trace Tools are so slow
ArcFM Server Tracing tools take on average 40 seconds to execute. That is not acceptable in our business so we end up creating our own from scratch. My custom trace achieves the same result with only 0.5 seconds to run. 98% Less!

So I'll give this product a year or two to mature, and until ArcFM have a vivid strategy for this product.




Tuesday, March 20, 2012

ESRI ArcGIS Online Products

No, arcgis.com is not the only ESRI product that allows you to share and interact with your GIS maps and data with other users.

Governments have shown their interests in the ArcGIS Online product but they had doubts, the major concern was the Security.


  1. Where is my data stored?
  2. Who have access?
  3. What happen when I delete a map?
  4. Is the Mapping Channel secured? 



In a simple presentation I explain the difference between the four ArcGIS Online Products.

Download it, browse through it and I'm open for discussion here.

Monday, September 5, 2011

17 Free GIS ESRI Courses [Professional Certifications]

Upon completion of each of the following free Online GIS courses, you get a professional certification that will help you pimp your resume. All you need to do is to follow the training, then do an small exam after that, if you pass the exam you get the certificate.

I just got certified using ArcPad in a 3 Hours course. You will be needing an ESRI Global Account
Field GIS ArcPad Certificate



Free GIS ESRI Courses with Certification

Duration: 6 modules (18 hours)

Duration: 1 module (3 hours)

Duration: 3 modules (9 hours)

Duration: 8 modules (24 hours)

Duration: 3 modules (9 hours) 

Duration: 1 module (3 hours) 

Duration: 1 module (3 hours) 

Duration: 1 module (3 hours) 

Duration: 1 module (3 hours) 

Duration: 1 module (3 hours) 

Duration: 1 module (3 hours)

Duration: 1 module (3 hours)

Duration: 1 module (3 hours) 

Duration: 1 module (3 hours)

Duration: 1 module (3 hours)   

Duration: 1 module (3 hours)  

Duration: 1 module (3 hours)