2010-07-22 16 views
22

Un cliente nos ha pedido que desarrollemos una aplicación interna propia para administrar sus sistemas de back-end. Sin embargo, somos una pequeña empresa de desarrollo y estoy seguro de que su empresa no tiene> 500 empleados.Soluciones alternativas para la distribución de aplicaciones empresariales para iPhone en la empresa

¿Existen soluciones alternativas, aunque similares, para distribuir esta aplicación a su empresa sin pasar por el programa empresarial de iPhone?

(solo para aclarar: obviamente, nos gustaría pasar por el programa empresarial oficial, pero viendo que la empresa no tiene> 500 empleados, esto no es posible).

ACTUALIZACIÓN (27/09): Parece que Apple ha eliminado el límite de 500 empleados para la distribución empresarial See here. Entonces esta será probablemente nuestra ruta ahora (lo cual es útil porque la aplicación se acerca a su finalización). Lo actualizaré a medida que avanzamos en el proceso si alguien quiere que lo hagamos, para que otros puedan tener una idea de cómo es el proceso real.

+0

he desarrollado una en la casa aplicación, intento abrir el enlace de arriba http://devworld.apple.com/programs/ios/enterprise/--- pero no funciona, de todos modos solo quería confirmar que es posible para una empresa pequeña (aproximadamente 200 empleados) y también el cliente puede descargar esta aplicación interna sin el uso de la tienda de aplicaciones? gracias – Pooja

+0

@Pooja - es posible que una pequeña empresa distribuya una aplicación empresarial (de hecho, mi cliente tiene aproximadamente ~ 50 empleados). Técnicamente, un cliente * podría * descargar * esa aplicación, pero tendría que tener mucho cuidado con la distribución. Cada aplicación viene con su certificado de distribución empresarial. Los usuarios malintencionados pueden extraer ese certificado y comenzar a firmar con él su propia aplicación, lo que claramente no es un resultado deseado. – Luke

Respuesta

22

Puede enviar la aplicación como una aplicación completamente gratuita en la AppStore pero requiere que el usuario inicie sesión y se autentique para usarla. De esta forma, cualquiera puede descargarlo pero usted controla quién realmente puede usarlo. Apple hace toda la distribución por usted y no tiene que preocuparse por las implementaciones Ad-Hoc o los departamentos de TI.

A continuación, crea un sistema de gestión de configuración realmente simple en un host web (o plataforma como Google App Engine) que gestiona la autenticación de aplicaciones.

Cuando un usuario inicia la aplicación gratuita, se le pide un nombre de usuario/contraseña/lo que sea. Esa información se envía al sistema de gestión de configuración basado en la web y se confirma. Si la aplicación recibe una confirmación aceptable del sistema de gestión de configuración, se desbloquea para que la use ese usuario.

La aplicación puede volver a autenticarse cada vez que se inicia (útil si desea un gran control) o puede almacenar localmente un archivo de clave que indica que se ha autenticado.Si ve el archivo de clave local cuando se inicia la aplicación, se considera autenticado y nunca vuelve a verificar.

Si usted usa una cuenta de usuario por persona o una para toda la compañía, usted decide.

Este estilo de distribución es muy útil si desea tener control sobre quién puede usar la aplicación, pero desea la facilidad de implementación que proporciona la AppStore.

Apple ha aceptado muchas aplicaciones en la AppStore que utilizan este método de autenticación en un servidor remoto (Skype es un ejemplo perfecto).

Si realiza un seguimiento del dispositivo UDID en el servidor de configuración también puede precargarlo para permitir que un cierto conjunto de dispositivos funcione. Además, nada de lo que he descrito es específico para iPhone. Puede utilizar el mismo sistema de gestión de configuración y conceptos en otras plataformas como Android (o incluso computadoras de escritorio) si alguna vez transfiere la aplicación o crea otras aplicaciones que lo necesiten en el futuro.

Además, dado que la acción de autenticar dispositivos no requiere mucha información ni procesadores, es probable que nunca incurras en un costo si construyes esto en Google App Engine ya que nunca superarás las cuotas gratuitas y obtendrás la estabilidad y escalabilidad de Arquitectura de back-end de Google. Como esta implementación particular es para administrar un sistema de back-end interno desplegarlo a través de la AppStore puede parecer inseguro porque hay información patentada incrustada en la aplicación, en particular la información que le permite conectarse y autenticarse contra los sistemas de back-end.

La solución a eso es no incluir esta información dentro de la aplicación y simplemente hacer que esa información sea parte de la respuesta que la aplicación recibe del servidor de administración de la configuración. Básicamente, la aplicación contiene la lógica necesaria para realizar su función, pero sin la información de conexión no tiene la capacidad de administrar ningún sistema de fondo.

Si hace que la aplicación se autentique cada vez que se inicia, puede cambiar la información de conexión en el servidor de configuración y la aplicación se actualizará a la nueva información sin necesidad de una nueva implementación. El usuario solo necesita reiniciar la aplicación. Esto le da a su cliente la flexibilidad de cambiar su configuración de red interna sin invalidar su código de aplicación. También puede hacer que esta información sea configurable manualmente dentro de la aplicación, pero luego incurre en un costo de TI al configurar la aplicación en cada dispositivo y si ya va a configurar un sistema de administración de la configuración, podría usarlo. Para asegurar aún más la solución anterior, es posible que desee tener el sistema de administración de configuración internamente y detrás del firewall de la empresa para que independientemente de quién se quede con la aplicación no puedan conectarse al sistema de configuración a menos que estén dentro la red de la compañía

+0

+1 Sin duda, la opción más sensata para implementaciones pequeñas y medianas. –

+0

Esto ciertamente suena como una solución brillante, muchas gracias.Supongo que la mayor preocupación que tengo para esto es que la aplicación es para administrar los sistemas financieros de respaldo, podría ser una tarea difícil venderles este método de implementación ya que podrían considerarlo "inseguro". Otro problema es que estamos desarrollando la aplicación en C# (MonoTouch) (me gusta/puedo codificar en Obj-C pero al ser una firma .NET, tiene sentido que los otros desarrolladores puedan contribuir sin aprender un nuevo idioma) dado el reciente anuncio de Apple, me pregunto si eso será otro obstáculo. – Luke

+0

@Luke, he actualizado la respuesta para responder a sus preocupaciones de que esta solución sea "insegura". Desafortunadamente no tengo manera de resolver completamente ese problema, pero hay muchas maneras de acercarse a una solución "segura". La solución propuesta por Tobias P. puede ser su mejor opción si necesita permanecer completamente fuera de la AppStore, pero mire mi comentario a su solución y téngalo en cuenta. Me gustaría saber si herramientas como MonoTouch seguirán siendo utilizables en el futuro. ¡Buena suerte! –

1

Sobre las únicas opciones reales que tiene son ...

  • hasta 100 dispositivos como la distribución ad-hoc.
  • Distribución de empresas (requiere> 500 empleados)
  • Todo el mundo tiene que marchar sus dispositivos hacia algún centro de TI y obtener un dispositivo "desarrollador". (¡gracias!)
  • Jail-broken.

Jail-broken puede sonar aterrador, pero en realidad es bastante avanzado, ahora, y se puede administrar con bastante facilidad. Aún así, anula su garantía (a menos que esté dispuesto a restaurar a la fábrica y no sea sincero al respecto;)

Aún así, técnicamente, es una opción disponible y se puede hacer funcionar, si dispuesto a planearlo.

Háganos saber lo que decida, y los pros & contras de ese método.

+0

Temía que esa fuera la respuesta; También envié un correo electrónico a Apple para ver si puedo obtener algo directamente de la boca del caballo, pero no estoy conteniendo la respiración. Es una pena que restrinjan realmente el plan empresarial a> 500 empleados. No estoy seguro de cuán entusiasmados estarán con el jailbreaking de todos sus teléfonos (tal vez debería tener en cuenta también que también esperamos desarrollar para el iPad; por lo que sé, no hay un jailbreak para el iPad?) Nos reuniremos con el cliente el lunes, así que le dejaré saber lo que decidimos (¡y la respuesta de Apple si la recibo!) – Luke

+0

Hola Olie, soy un gran admirador de ti. Sigan con el buen trabajo! – Chrizzz

1

Otro obvio aunque no necesariamente agradable es enviar su aplicación a la tienda de aplicaciones como una aplicación, pero solo se puede acceder con una contraseña de cliente. Suponiendo que pueda pasar el proceso de la tienda aapp, esto podría funcionar para usted.

0

distribución Ad-hoc está limitada a 100 dispositivos por aplicación, eso es cierto, pero se puede añadir el proyecto n veces al centro de desarrolladores de Apple, por lo que puede desplegarlo en n * 100 dispositivos

+1

Tendrá que pagar $ 100 por año por una nueva cuenta de desarrollador por cada 100 dispositivos, ya que Apple limita cada cuenta de desarrollador a tener 100 dispositivos a los que puede distribuir Ad-hoc (esto realmente no es caro si le pagan para desarrollar aplicación). Sin embargo, creo (pero no tengo el enlace para probarlo) que es contra las políticas de Apple que un desarrollador tenga múltiples cuentas de desarrollador con el propósito expreso de eludir esta limitación. –

0

¿Cómo manzana asegúrese de que su empresa tenga más de 500 personas? Me gustaría probar el programa empresarial de todos modos ...

No haría jailbreak, no haría ad-hoc porque está limitado a 100, y no haría que todos pusieran sus teléfonos en desarrollador modo.

Para la mantenibilidad futura, el modo empresarial es el camino a seguir, así que vea si puede navegar a través del proceso sin mencionar que puede que no sean 500 usuarios.

Además, vi su comentario sobre el desarrollo usando MonoTouch. Hablaría con Apple sobre esto antes de hacer cualquier otra cosa, porque dado sus recientes cambios de política, estoy bastante seguro de que esto denegará tu aplicación de la App Store y del programa Enterprise.

Editar: Revisé la página web de Mono. Parece que Apple todavía puede permitir el uso de aplicaciones mono, y los creadores de Mono insisten en que es kosher, pero podrías correr el riesgo de que tu futura aplicación sea retirada de los teléfonos en cualquier momento.

Una mejor edición: Directamente desde el sitio web de mono: Enterprise MonoTouch

Es importante señalar que los nuevos términos del Acuerdo iPhone desarrollador son para el despliegue AppStore y no el programa de empresa que permite el despliegue de la aplicación interna a los usuarios de la empresa (utilizando el programa Enterprise Deployment).

Así que puede ser bueno allí siempre que pueda ingresar al programa empresarial.

+0

Uno de los requisitos para el programa empresarial es proporcionar un número DUNS, que sé que nuestro cliente no tiene, por lo que desafortunadamente no es un camino que podamos explorar; gracias de todos modos ! – Luke

1

Olie dijo:

Sobre las únicas opciones reales que tiene son ... hasta 100 dispositivos como la distribución ad-hoc. Distribución de empresas (requiere> 500 empleados) Todo el mundo tiene que desplazar sus dispositivos a alguna central de TI y construir como un dispositivo "desarrollador". (¡Ay!) Jail-broken.

Pero para ser claros (corríjanme si me equivoco):

  1. si se utiliza el método de distribución "Ad-hoc", sus clientes verán la aplicación desaparecer después de exactamente 3 meses.
  2. solo se pueden usar hasta 100 dispositivos para las pruebas (es decir, se usan en "modo desarrollador") y, además, la aplicación desaparecerá después de 3 meses.

Entonces, Apple no nos da ninguna opción, ¿eres realmente grande (> 500 empleados)? ok para que puedas hacer lo que quieras, etc. de lo contrario ... "byebye"

Además, olvídate de lo que dijo "Bryce" antes, una aplicación como la que describió sería rechazada con la motivación de "audiencia limeted".

iOS no es para aplicación empresarial .... si no quiere depender de algunos hackers inteligentes (es decir jailbreak)

+0

+1 a posibles rechazos debido a "audiencia limitada", podría valer la pena intentar enviar una aplicación como lo describe Bryce pero no contar con que sea aceptada. – Jona

0

puede omitir por completo el proceso de aprobación del Programa para desarrolladores de App-Store o empresa, si Desarrolla su aplicación como una solución pura de HTML5. Esta tecnología se llama webapps. Y pueden ser bastante avanzados en funcionalidad. Automáticamente tiene la disponibilidad multiplataforma y opciones de implementación muy sencillas (como el clip web, esto se puede distribuir a través de.archivos de configuración mobileconfig) Ver http://www.apple.com/webapps/whatarewebapps.html

7

Estaba investigando esto ayer y hoy, y parece que Apple acaba de eliminar (en la última semana) el requisito de más de 500 empleados para el desarrollo empresarial. Sin embargo, creo que deberá desarrollar/implementar para un cliente en particular utilizando un kit de herramientas de desarrollo registrado por el cliente.

Así que si trabaja para el cliente A y el cliente B, ambos clientes A y B necesitarán registrarse con Apple como desarrolladores comerciales, momento en el que puede desarrollar aplicaciones para ellos (como contratista) y usar sus herramientas para construir e implementar dentro de sus empresas. Creo que sería una buena idea que tu empresa también esté registrada como desarrollador de negocios.

Apple todavía requiere que tenga un número Dun & Bradstreet DUNS para registrarse como Desarrollador Comercial.

+0

Esto es excelente, ¡muchas gracias! – Luke

Cuestiones relacionadas