Ankündigung

Einklappen
Keine Ankündigung bisher.

"PHP Service" zu Webservice

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • "PHP Service" zu Webservice

    Grüßt euch,

    Ich habe folgendes Problem.
    ich habe eine PHP Anwendung geschrieben die ziemlich umfangreich ist.
    Diese Anwendung wurde auf eine Website gehostet.

    Man übergibt dieser Website per Get oder Post Request bestimmte Daten.
    Also z.B.
    www.meinewebsite.de?Parameter1=xxx

    Die PHP Anwendung rattert nun nun durch und gibt dem Browser eine
    XML Datei wieder zurück.

    Das ist ja nun im Prinzip schon ein Webservice.

    Allerdings stehe ich nun vor dem Problem das Andere Anwendungen diesen Webservice benutzen sollen.

    Ich habe mir keine Gedanken über SOAP und sowas gemacht, da ich dachte das die Anwendung wie ich sie oben beschrieben habe schon einen Webservice darstellt.

    Allerdings erwarten jetzt die anderen Systeme
    soetwas wie eine .asmx Datei oder eine
    WSDL Schnittstelle.

    Meine Frage ist nun:
    Kann ich das noch einfach ummünzen?
    Sind größere Anpassung Notwendig sodass ich eine
    WSDL generieren kann?

    Alternativ würde ich halt irgendwo nen Webserver hosten und dann vom
    abdereb Systen heraus nen http Request machen und mir den Inhalt in ne Variable speichern.
    Aber ne WSDL wäre halt schöner glaube ich?

    Schreibt ma eure Meinungen^^


  • #2
    Das ist ja nun im Prinzip schon ein Webservice.
    Kommt eben immer drauf an wie man etwas definiert ne statische Website bietet ja auch nen Service an, man kann da ja was lesen.

    Kann ich das noch einfach ummünzen?
    Streichen wir mal das "einfach", aber von der Sache her musst du ja "nur" anpassen, dass du deine Parameter anders übertragen bekommst und das XML an den Client des Webservices zurückgibst. Die Logik selbst bleibt ja bestehen.
    Relax, you're doing fine.
    RTFM | php.de Wissenssammlung | Datenbankindizes | Dateien in der DB?

    Kommentar


    • #3
      Zitat von NoEs Beitrag anzeigen
      Allerdings stehe ich nun vor dem Problem das Andere Anwendungen diesen Webservice benutzen sollen.
      Was hindert die "anderen Anwendungen" daran, deinen Webservice zu benutzen?

      Und warum willst du das unnötig kompliziert machen?

      Schau dir bekannte API's an, wie die es machen. Viele liefern die Informationen als XML oder JSON, da diese Formate einfach zu benutzen sind.

      LG jspit
      PHP-Klassen auf github

      Kommentar


      • #4
        Was hindert die "anderen Anwendungen" daran, deinen Webservice zu benutzen?
        Mhh anscheinend möchte man keinen Apache Server laufen lassen, da der dann in kurzer Zeit in Vergessenheit geraten würde und ihn niemand mehr wartet...
        Also aus Gründen der Wartbarkeit.
        Sieht wohl im Moment leider so aus das ich den gesamten Service nocheinmal als
        "richtigen Webservice" in c# mit Visual Studio bauen muss : /
        Das könnte in ziemlich in Arbeit ausarten, da das PHP Gedöhns schon so etwa 2 Monate Arbeitsstunden gekostet hat.

        Jemand ne Idee wie man das schnell portieren könnte?
        Ich nehme an ein einfaches Programm was sowas wie PhP-to-C# kann
        ist unrealistisch oder?

        Kommentar


        • #5
          Zitat von NoEs Beitrag anzeigen
          Mhh anscheinend möchte man keinen Apache Server laufen lassen, da der dann in kurzer Zeit in Vergessenheit geraten würde und ihn niemand mehr wartet...
          Also aus Gründen der Wartbarkeit.
          Also kostet der Apache zuviel Wartungsarbeit, aber einen Webserver nochmals in C# mitsamt allen Webservices zu programmieren und zu warten, wobei du selbst bugfixes schreiben müsstest die Apache mit dem Update schon mitbringen würde ist in Ordnung?

          Zitat von NoEs Beitrag anzeigen
          Ich nehme an ein einfaches Programm was sowas wie PhP-to-C# kann
          ist unrealistisch oder?
          Ja.
          Zitat von nikosch
          Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

          Kommentar


          • #6
            Webserver und Mit ihren Services stehen schon für andere Aufgaben zur Verfügung und werden auch dementsprechend konfiguriert und gewartet.

            Kommentar


            • #7
              Sehe ich auch so.
              aber einen Webserver nochmals in C# mitsamt allen Webservices zu programmieren
              Oder mit anderen Worten mußt du deinen "richtigen Webservice" in c# eine Serverfunktionalität verpassen. Also an einem Port lauschen, Verbindungen und Anforderungen entgegennehmen,
              Antwort zurücksenden und dies noch parallel für mehrere quasi gleichzeitige Anforderungen!

              Edit: Wer sagt das es unbedingt ein Apache Server sein muß? PHP läuft auch unter anderen Servern, sogar auf dem IIS...
              PHP-Klassen auf github

              Kommentar


              • #8
                Langsam, ich kann dir nicht ganz folgen.
                Welche Seite möchte keinen Apache laufen lassen?
                Client oder Server?

                Dein Server läuft doch schon.
                Und auf den könnte man auch schon C,Java, PHP was auch immer zugreifen.
                Auch kann man in PHP einen "richtigen" Webservice (mit WDSL und so) schreiben auf den man mit einer anderen Programmiersprache zugreifen kann.
                Auf uns wird z.B. mit C# zugegriffen.

                Es macht für mich grade keinen Sinn jetzt das gleich noch mal mit einer anderen Sprache und Webserver zu machen...
                Vieles kann, wenig muss.

                Kommentar


                • #9
                  Ich kenne mich ähnlich wie Varon nicht ganz aus. jspits Frage:
                  Zitat von jspit Beitrag anzeigen
                  Was hindert die "anderen Anwendungen" daran, deinen Webservice zu benutzen?
                  Wird unzureichend beantwortet.

                  Einerseits hast du den Server bzw. Service, das läuft mit Apache + PHP.
                  Andererseits gibt es "andere" die offenbar einen C# Client brauchen, im Gegensatz zu den jetzigen Clients. (Wobei, wenn du derzeit XML auslieferst, werden die jetzigen Clients wohl auch keine Browser sein.)

                  Ob dein Service jetzt WSDL, XML oder HTML ausgibt kannst du ja ganz selbst und unabhängig vom Client entscheiden. Genauso musst ja auch DU wissen wie viel Arbeit es ist wenn du jetzt zusätzlich WSDL verwenden möchtest. Das ist ja eigentlich alles entkoppelt vom Kunden, der muss nur zwei Dinge wissen. Kann ich mit WSDL zugreifen und wie greife ich darauf zu?

                  Das Ende vom Einstiegspost:
                  Alternativ würde ich halt irgendwo nen Webserver hosten und dann vom
                  abdereb Systen heraus nen http Request machen und mir den Inhalt in ne Variable speichern.
                  ergibt daher für mich keinen Sinn. Wem sollte der zweite Webserver hier denn helfen? Du brauchst keinen und der Client brauchen ebenso keinen.

                  Kommentar


                  • #10
                    Habe mich da vtl. ein wenig unverständlich ausgedrückt^^
                    Programmiert wird im besagten Unternehmen mit c# (visual Studio).
                    Dementsprechend sehen auch die Umgebungen mit all ihren Servern aus.
                    (Alles Windows Produkte)

                    Das Projekt in PHP wurde auf einem lokalen Rechner von mir mit xamp entwickelt.
                    Es steht also kein Web Server zur verfügung.

                    Dieses Projekt soll nun in die bestehende Landschaft integriert werden.
                    Also aus einer Anwendung heraus, die in c# geschrieben wurde soll nun dieser
                    XML Inhalt, welchen mir mein PHP Gedöhns gibt verfügbar sein.

                    Es gibt wohl die Möglichkeit Services mit Visual Studio einfach einzubinden.
                    Allerdings erwartet Visual Studio da eben einen "richten Webservice" also mit SOAP Schnittstelle und so weiter.

                    Zitat von jspit Beitrag anzeigen
                    Was hindert die "anderen Anwendungen" daran, deinen Webservice zu benutzen?

                    Wird unzureichend beantwortet.
                    Der Webservice läuft momentan nur lokal auf einem "Arbeitsrechner" über XAMP.
                    Wenn der Rechner aus ist, ist natürlich auch der Service weg.

                    Kommentar


                    • #11
                      Okay. Dann muss dein PHP-Service eben auf den (Web-)Server des besagten Unternehmens umziehen und du musst ihm die neu geforderten Features eben noch verpassen - das geht ja in PHP auch.

                      Eine Portierung auf C# hat also die 2 Hauptnachteile:
                      1. Musst du deinen ganzen Code neu schreiben.
                      2. Musst du neue Features, eben die Kommunikation, die bis jetzt der Apache übernommen hat, selbst übernehmen. Das kostet zusätzlich Zeit/Geld und ist dabei noch viel fehleranfälliger.

                      Dazu kommen alle anderen Nachteile von C# gegenüber PHP, z.B. das du es dann später eben nicht problemlos migrieren, und für andere zu Verfügung stellen kannst.

                      Kommentar


                      • #12
                        Windows hat auch einen Webserver für C#-Webservices (in etwa vergleichbar mit z.B. Tomcat für Java), nur wie das da genau abläuft weiß ich nicht da ich kein großer Fan von Microsoft-Produkten bin.
                        Zitat von nikosch
                        Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

                        Kommentar


                        • #13
                          Dann muss dein PHP-Service eben auf den (Web-)Server des besagten Unternehmens umziehen und du musst ihm die neu geforderten Features eben noch verpassen
                          Jo das war eigendlich von Anfang an der Plan.
                          Allerdings wird eine WSDL Schnittstelle verlangt.

                          Ist schon etwas her als ich mich mit diesem Thema auseinandergesetzt habe.
                          Ich dachte SOAP ist für die eigentliche Datenübertragung verantwortlich
                          (also ein Protokoll) und WSDL stellt Quasi dann die Methoden des Services zur Verfügung.

                          Ich kann nun meinen Funktionierenden Webservice mit
                          http://meineSeite:/index.php?parameter=xxx

                          gedanklich nicht mit WSDL Verbinden.
                          Da scheint entweder ne große Verständnislücke zu sein
                          oder das was ich da mit php gebaut habe ist eifnach kein Webservice?

                          Kommentar


                          • #14
                            Zitat von NoEs Beitrag anzeigen
                            Programmiert wird im besagten Unternehmen mit c# (visual Studio).
                            Dementsprechend sehen auch die Umgebungen mit all ihren Servern aus.
                            (Alles Windows Produkte)
                            Startup oder? Mir fällt sonst kein Grund ein, wie man auf so eine dämliche Idee kommen kann.
                            Windows Server gehören NICHT ins Internet!

                            Dildo? Dildo!

                            Kommentar


                            • #15
                              Zitat von trollface Beitrag anzeigen
                              Startup oder? Mir fällt sonst kein Grund ein, wie man auf so eine dämliche Idee kommen kann.
                              MySpace hat auch eine Windows Infrastruktur... *scnr*

                              Kommentar

                              Lädt...
                              X